您的位置:首页 > 其它

基于shiro的权限控制-001基本概念

2017-10-28 13:14 225 查看
官网介绍:



基本概念

authentication:认证,也就是我们系统中的登录模块。

authorization: 授权,就是系统中的权限管理。

crypthgraphy:加密,在登录过程中,我们需要对用户的敏感信息进行加密处理,严禁暴露明文信息。

session management 会话管理。

在互联网公司中,专门有一个部门做和用户账户,登录相关的事情,所以,我们这里就不讨论认证这个模块,其实就是一个拦截器,在拦截器中去获取用户的登录态,是否登录,如果未登录,那么跳转到登录页面让用户进行登录或者新用户的注册行为。在登录和注册的这个行为中,就使用到上述的认证,加密,会话管理。在真实的公司中,基本很少有人用shiro来做这些事情,用的最多的就是我们要讨论的授权管理。

shiro授权相关:

授权相关官方说明文档:http://shiro.apache.org/authorization-features.html

首先,我们要明确授权这个过程是做什么事情?在我么生活中,也有授权的例子,比如在一个单位中,保安的职责是保卫集体的财产不受损失,他如果想看单位的财务数据,那么他是直接看不到的,因为他没登录财务系统的密码,也就是说,他没有看财务数据的权限,同理,一个财务人员,他的职责是管理集体的财务运作,按时收款,出款,但是,如果一个财务人员想去开董事会,那么保安是不让他进去的,因为财务人员没有进入会议室的钥匙,也就是说他没有开董事会的权限。反而,一个董事要看财务数据,或者要招聘一个保安,他是有这个权限的。

标准的定义权限是:

Authorization, also called access control, is the process of determining access rights to resources in an application. In other words, determining “who has access to what.” Authorization is used to answer security questions like, “is the user allowed to edit accounts”, “is this user allowed to view this web page”, “does this user have access to this button?” These are all decisions determining what a user has access to and therefore all represent authorization checks.

上面这段话,说明了授权,又叫访问控制,在一个系统中是否有权利去访问某一个页面,是否有权限访问某一个按钮。

相关概念说明



在使用shrio做我们系统的权限管理器的时候,必须要对依赖的模块有清楚的认识,否则,即使你系统跑起来了也达到了你的预期目标,你也是知其然不知其所以然。

applicationCode 这个就是我们项目。

subject:这是shiro的核心概念,代表的是当前登录系统的用户。

shiroSecurityManager:当用户登录到我们系统的时候,我们会将用户的用户名和密码交给安全管理器,这样我们就可以在shiro的一亩三分地中遨游了。

realm:realm在shiro中是域,也就是获取安全数据的地方,比如用户名,角色,权限,securityManager要验证用户的身份,它就得从realm中获取相应的用户进行查看是否合法,也需要从realm中得到用户相应的角色,权限进行验证用户是否有资格进行操作。可以把realm看成数据源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shiro