自定义的权限和角色授权
自定义Realm的认证
自定义Realm 需要像jdbcRealm那样继承AuthorizingRealm
自定义Realm进行授权
自定义Realm的认证过程
自定义Realm(数据库认证)需要继承AuthorizingRealm
认证信息并返回
自定义realm授权demo
自定义realm认证demo
获取权限。
用户认证。
继承AutorizingRealm
自定义CustomRealm.java中授权和认证两个方法.
自定义的Realm,主要注意一下几个步骤:
首先继承并实现类AuthorizingRealm的方法。其中方法
doGetAuthenticationInfo 主要做认证操作,即可以通过获取其中的
用户名,查询出相应的密码,然后将用户名与密码一并返回,shiro会自动根据传入的用户名与密码与此Realm返回的用户名和密码作比对,返回你想要的结果。同理doGetAuthorizationInfo主要是用来做角色与权限的验证,也是通过用户名,从数据库中查找到相应的角色或者权限的数据并返回一个Simple的授权类,授权系统会根据传入的参数与返回的结果集对比,存在返回true不存在则抛异常。
两者方法只能获取用户名称,通过用户名称连接数据库获取其他信息。这里只是做数据准备操作,并不做判断是否传入的值与其相符的操作,此操作在此之后进行。
根据两者的返回对象分别返回Simple类型的对象。认证的对象需要将你获取的用户名和密码放到构造方法中。授权的对象需要你set到相应的方法中。
例子中只是从本地写死静态类,之后必须写入相应的数据库连接。