基于Spring框架的Shiro配置
一、在web.xml中添加shiro过滤器
public
class
MyRealm
extends
AuthorizingRealm{
private
AccountManager accountManager;
public
void
setAccountManager(AccountManager accountManager) {
this
.accountManager = accountManager;
}
/**
* 授权信息
*/
protected
AuthorizationInfo doGetAuthorizationInfo(
PrincipalCollection principals) {
String username=(String)principals.fromRealm(getName()).iterator().next();
if
( username !=
null
){
User user = accountManager.get( username );
if
( user !=
null
&& user.getRoles() !=
null
){
SimpleAuthorizationInfo info = new
SimpleAuthorizationInfo();
for
( SecurityRole each: user.getRoles() ){
info.addRole(each.getName());
info.addStringPermissions(each.getPermissionsAsString());
}
return
info;
}
}
return
null
;
}
/**
* 认证信息
*/
protected
AuthenticationInfo doGetAuthenticationInfo(
AuthenticationToken authcToken ) throws
AuthenticationException {
UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
String userName = token.getUsername();
if
( userName !=
null
&& !
""
.equals(userName) ){
User user = accountManager.login(token.getUsername(),
String.valueOf(token.getPassword()));
if
( user !=
null
)
return
new
SimpleAuthenticationInfo(
user.getLoginName(),user.getPassword(), getName());
}
return
null
;
}
} 参考资料:让Apache Shiro保护你的应用
(http://kdboy.iteye.com/blog/1103794)
相关推荐
MicroBoy 2020-08-02
MicroBoy 2020-07-05
与卿画眉共浮生 2020-11-13
smalllove 2020-11-03
hellowordmonkey 2020-11-02
丽丽 2020-10-30
周太郎 2020-10-28
greensomnuss 2020-10-27
职业炮灰 2020-10-16
与卿画眉共浮生 2020-10-14
feinifi 2020-10-14
feinifi 2020-10-13
yangjinpingc 2020-10-09
davis 2020-09-29
RickyIT 2020-09-27
lisongchuang 2020-09-27
tangxiong0 2020-09-03
meleto 2020-08-17