Web应用安全认证与授权全解析
在Web应用开发中,安全问题至关重要,尤其是用户认证和授权这两个方面。本文将详细介绍如何通过不同的方式来实现Web应用的安全防护,包括基于容器的认证、角色拦截器以及Acegi安全框架的集成。
基于容器的认证配置
在表单的 action 属性中,为了提供Web应用的上下文,通常会使用脚本片段 <%=request.getContextPath()%> 。对于像上下文路径或常量值这样的简单属性,这是一种可接受的方法,它可以避免引入 ServletRequestAware 接口。不过,一般来说,脚本片段会导致不良的编程习惯,比如降低模块化程度和增加修改成本。
完成基于容器的认证配置后,如果用户身份未知或使用错误信息登录,容器会将用户返回到登录页面,并显示友好的提示信息,要求用户“重试”。如果用户认证成功,就可以访问所请求的资源。
访问角色信息
保护URL资源是一个良好的开端。对于像我们正在构建的这种简单应用,一个简单的保护或非保护开关就足够了。但当应用变得更加复杂,涉及多个角色时,动作和JSP页面都需要访问当前用户的角色,以确定是否执行特定逻辑以及渲染JSP的哪些部分。
由于基于容器的认证使用了Servlet规范,所有暴露已认证用户和角色信息的方法都可以通过 HttpServletRequest 类来访问。当动作实现 ServletRequestAware 接口时,就可以获取这个对象。从Struts2框架的角度来看,
超级会员免费看
订阅专栏 解锁全文
3628

被折叠的 条评论
为什么被折叠?



