值得注意的是,shiro并不能帮你安排好所有的权限,这些都需要自己来实现。例如网站的后台管理员有3种:admin(拥有所有的权限)、user-select(只有对数据的查看权限)、user-manage(有对数据的管理权限,包括增、删、查、改)。每一个角色都有自己的权力,权力不能越界,这就是权限管理的好处。Shiro种实现这一方式的原理就是将用户保存再数据库或者是其他持久化文件种,再定义一些角色,通过角色来管理权限。文献综述
当subject通过登陆验证,并且经过授权之后拥有其相应的权限之后,就被认定为成功建立了与服务器的连接,这时候session就产生了。Session表示的是与服务器连接的id,服务器通过这个id来识别subject,达到控制会话的目的。Session可以设置过期时间,就是当用户多久没有与后台交互之后断开会话,这个时候session就不在服务器种存在,但是仍然存在与用户的浏览器的客户端中。当用户再次打开浏览器,浏览器的客户端会再次使用这个session去获取会话,但是如果此时session被认定为过期的话,用户就要重新进行登陆验证。
许多网站都有一个记住密码的功能,这个功能的实现原理也不复杂,如果没有使用shiro的话,当用户进行登陆验证,并且验证成功的时候,那么此时服务器就要将用户的用户名和密码保存在客户端的浏览器中。浏览器都有一个叫cookie的东西,就用来专门保存和服务器的交互信息。Cookie只存在与浏览器,不在服务器中,cookie的存在时间可以通过浏览器来设置,也可以手动清除和自动清除。当用户的信息保存在了浏览器中的时候,当用户下一次打开登录页面的时候,需要填写用户信息的表单中会自动填充上服务器从用户浏览器cookie中获取的用户信息,来达到记住密码的功能。而这个功能在shiro中的配置就更加的简单,只要设置rememberme 功能开启(==true)就可以了。
shiro集合了众多登录的功能,在权限控制方面有很大的作用。这里就简单介绍它在这实现的功能,具体的实现的方式就不详细的介绍了