如何从 CAS 登录页面添加指向新页面的链接
Posted
技术标签:
【中文标题】如何从 CAS 登录页面添加指向新页面的链接【英文标题】:How to add a link to a new page from CAS login page 【发布时间】:2012-07-09 04:59:17 【问题描述】:我是 JASIG CAS 的新手,我正在创建一些将从 CAS 登录页面链接的新页面(例如,密码重置、创建新帐户)。除了为WEB-INF/view/jsp/default/ui/
中的新页面内容创建新的JSP 文件之外,我不确定从哪里开始执行此操作。我尝试从带有和不带有文件扩展名的 casLoginView.jsp 文件直接链接到新的 JSP 文件。我还尝试更改 web.xml 为我的新 JSP 添加一个新的 <servlet-mapping>
到 <url-pattern>
。两种尝试都没有奏效:相反,指向新 JSP 的链接只是重新加载登录页面。提前感谢您的任何建议!
【问题讨论】:
【参考方案1】:四处寻找正确的关键字后,看来我必须将新页面放在/WEB-INF
之外才能访问该页面。根据Java Servlet spec v2.4, page 70,Web 服务器无法提供/WEB-INF
下的任何内容。所以我把我的新页面移动到/WEB-INF
之外的/webapp
的根目录,所以现在我可以链接到新的JSP文件,包括它的文件扩展名(例如,https://localhost:8443/newPage.jsp
)。
【讨论】:
【参考方案2】:似乎新链接是安全资源,这是再次显示登录屏幕的原因。您必须在 securityContext.xml 文件中将新 jsps 的访问级别更改为 Ananymous 级别。
我也完成了同样的任务。 securityContext.xml
有我的部分<sec:intercept-url pattern="/changePassword.html" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<sec:intercept-url pattern="/resetPassword.html" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
【讨论】:
酷,你有一个例子说明这个变化在 securityContext.xml 中的样子吗? 其实我在securityContext.html的<description>
看到如下:“这是Spring Security配置服务管理工具使用的配置文件。你不应该直接修改这个文件中的任何东西。配置选项应该都在 cas.properties 文件中。这是否意味着我应该在 cas.properties 中放置一些东西?【参考方案3】:
在上一个 CAS 服务器版本 (3.5.0) 中,可以使用处理密码重置的 LPPE 模块。你可能会对它感兴趣:https://issues.jasig.org/browse/CAS-948。 最好的祝福, 杰罗姆
【讨论】:
以上是关于如何从 CAS 登录页面添加指向新页面的链接的主要内容,如果未能解决你的问题,请参考以下文章