使用Shiro做权限认证(2)

4 篇文章 0 订阅

在第一节中,我们重新定义了Realm,重新注册了securityManager。SecurityUtils会按照我们的期望工作了。如何用securityManager将我们的应用程序管理起来呢。
shiro只是提供安全控制的API,并不能识别我们应用程序中哪些是需要安全控制的资源,这部分的定义是需要我们自己来完成的。也就是说我们在需要安全控制的资源处加入安全控制的代码。

shiro提供了多种安全控制的判断方式:
编程实现:通过写if/else授权代码块完成:

Subject subject = SecurityUtils.getSubject();  
if(subject.hasRole(“admin”)) {  
    //有权限  
} else {  
    //无权限  
} 

注解实现:通过在执行的Java方法上放置相应的注解完成:

@RequiresRoles("admin")  
public void hello() {  
    //有权限  
} 

注解式,你需要在你的应用程序中启用AOP 支持才能生效。

JSP/GSP标签实现:在JSP/GSP页面通过相应的标签完成:

<shiro:hasRole name="admin">  
<!— 有权限 —>  
</shiro:hasRole>   

URL过滤实现:在 web应用中对url进行控制,需要启动shirofilter过滤

/admin/login.html = authc
/admin/index.html = authc
/admin/* = authc
...

以上方式其实都是将资源交付给securityManager进行管理,进而实现安全控制的目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值