18、Web应用安全认证与授权全解析

Web应用安全认证与授权全解析

在Web应用开发中,安全问题至关重要,尤其是用户认证和授权这两个方面。本文将详细介绍如何通过不同的方式来实现Web应用的安全防护,包括基于容器的认证、角色拦截器以及Acegi安全框架的集成。

基于容器的认证配置

在表单的 action 属性中,为了提供Web应用的上下文,通常会使用脚本片段 <%=request.getContextPath()%> 。对于像上下文路径或常量值这样的简单属性,这是一种可接受的方法,它可以避免引入 ServletRequestAware 接口。不过,一般来说,脚本片段会导致不良的编程习惯,比如降低模块化程度和增加修改成本。

完成基于容器的认证配置后,如果用户身份未知或使用错误信息登录,容器会将用户返回到登录页面,并显示友好的提示信息,要求用户“重试”。如果用户认证成功,就可以访问所请求的资源。

访问角色信息

保护URL资源是一个良好的开端。对于像我们正在构建的这种简单应用,一个简单的保护或非保护开关就足够了。但当应用变得更加复杂,涉及多个角色时,动作和JSP页面都需要访问当前用户的角色,以确定是否执行特定逻辑以及渲染JSP的哪些部分。

由于基于容器的认证使用了Servlet规范,所有暴露已认证用户和角色信息的方法都可以通过 HttpServletRequest 类来访问。当动作实现 ServletRequestAware 接口时,就可以获取这个对象。从Struts2框架的角度来看,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值