典型的acegi登陆代码如下:
<form action="j_acegi_security_check" method="POST">
<table>
<tr><td>User:</td><td><input type='text' name='j_username'></td></tr>
<tr><td>Password:</td><td><input type='password' name='j_password'></td></tr>
<tr><td colspan='2'><input name="submit" type="submit"></td></tr>
<tr><td colspan='2'><input name="reset" type="reset"></td></tr>
</table>
</form>
然后通过配置文件
<bean id="authenticationProcessingFilter" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
<property name="authenticationManager"><ref bean="authenticationManager"/></property>
<property name="authenticationFailureUrl"><value>/login.jsp?login_error=1</value></property>
<property name="defaultTargetUrl"><value>/index.jsp</value></property>
<property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
</bean>
来调用相关的类.
在基于jsf的aom中可以自己来定义登陆界面,然后直接调用acegi API中的方法,如下:
<w:form id="loginForm">
<w:textField name="username" id="username"></w:textField><br/>
<w:textField name="passwd" id="passwd"></w:textField><br/>
<w:button id="loginBtn"/>
<h:outputText id="backMessage"></h:outputText>
</w:form>
LoginBean类方法如下:
@Action(id = "loginBtn")
public void loginBtn() {
try {
UsernamePasswordAuthenticationToken authReq = new UsernamePasswordAuthenticationToken(
username, passwd);
Authentication auth = authenticationManager.authenticate(authReq);
if (auth.isAuthenticated()) {
Browser
.execClientScript("parent.location.href='../index.faces';");
}
} catch (BadCredentialsException e) {
backMessage = "用户密码不匹配或无角色?";
}
}
分享到:
相关推荐
标题 "aom-v1.0.0.errata.1.tar.gz" 指的是一个名为 "aom" 的开源项目,其版本为1.0.0的错误修复更新(errata)第一版,并以tar.gz格式打包。这个压缩包包含了项目的一些核心文件和文档,表明这可能是用于开发或维护...
AOM 通过engine.vbs 启动UFT。
标题"AOM初体验(一)"暗示我们即将探讨的是一篇关于Advanced Operation Management(AOM,高级运营管理)的入门文章,可能是针对某一个特定工具或框架的介绍。描述提到"整个工程打包下载",意味着这可能是一个软件...
使用QTP的automation object model,可以对QTP进行自动化编程,从而自动对QTP进行选项设置、自动运行测试(或组件),而无需使用QTP界面手工进行这些操作。 如果要重复多次的完成同一项工作任务,或重复多次运行同一...
标题"AOM相关.rar"指的是与AOMedia(简称AOM)相关的资料集合,这通常涉及到音视频编码技术,特别是AV1编码标准。AOMedia是一个开放的非营利组织,致力于开发下一代开源、免专利费的媒体编码技术,旨在提供高质量的...
AOM金蝶控件开发指南,入门,供大家学习
AOM(Academy of Motion Picture Arts and Sciences)是一个与电影技术相关的组织,而在此上下文中,它似乎指的是一个特定的Java项目或库。"AOM java原代码下载"的标题表明我们正在讨论的是该组织的Java源代码,可能...
在这个过程中,`aom-v1.0.0.errata.1.tar.gz`是一个重要的组件,它是Google开放媒体联盟(Alliance for Open Media, AOMedia)的AV1编码器开源实现——AOMedia Video 1(AV1)的一个版本。AV1是一种高效、开放标准的...
标题 "aom-v1.0.0.errata.1.zip" 指示这是一个与开源视频编码库AV1相关的更新或修正文件。"errata"通常用于标识软件发布中的错误或修正,这意味着这个压缩包可能包含了针对aomedia(aom)v1.0.0版本的一些修复或改进...
海洋沉积物甲烷厌氧氧化(AOM)作用是一个涉及甲烷和硫酸盐的生物地球化学过程,甲烷作为一种温室气体,在海洋沉积物中通过与硫酸盐还原菌作用被转化为二氧化碳或碳酸盐,同时硫酸盐作为电子受体被还原为硫化物。...
"AOM中IE、Firefox兼容Enter代替Tab的Javascript"这个主题关注的是如何在不同的浏览器环境中,尤其是IE和Firefox中,使用JavaScript实现按下回车键(Enter)时模拟Tab键的效果,以实现元素间的焦点切换。 首先,我们...
标题 "aom.zip_3344aom_aom.avcom_av1_h264_zip" 暗示了这是一个与视频编码相关的压缩文件,其中包含了AV1编码器的源代码,可能还有与H264编码的对比或转换相关的资料。描述 "av1 codec source open c++" 明确指出这...
各位AOM的爱好者,AOM目前采用的默认EXT皮肤很漂亮,但是从1.0用到2.0再用到2.3,想必各位的项目都已经成熟稳定了,这时候很多人想锦上添花,让自己的项目更加出众一些,那就要在外观上做一些美化了。 遗憾的是,...
【X-AOM权识区块链新经济 - 泛AI时代投资多元的解决方案】 X-AOM权识区块链新经济项目旨在利用区块链技术,特别是在泛人工智能(AI)时代,为投资者提供多元化投资的策略。该项目的核心目标是建立一个全球化的平台...
在JavaScript的世界里,AOM(Accessibility Object Model)是一种新兴的标准,它旨在提升Web内容的可访问性,使得残障人士能够更好地与网页交互。AOM是Web开发领域中一个非常重要的概念,它与DOM(Document Object ...
文章标题提到的“X-AOM_权识区块链新经济 -泛AI时代投资多元的解决方案”是关于在人工智能(AI)时代背景下,利用区块链技术创造新的经济模式和投资策略的探讨。在这个新经济模型中,核心理念是“谁分享数据,谁受益...
Aom(AOMedia Video 1)是一种开放源代码的视频编解码器,由AOMedia组织开发,旨在提供高效、高质量的视频压缩技术。AOMedia是一个跨行业的联盟,致力于创建下一代开放标准,以推动互联网视频的发展。AV1是AOMedia的...