黑马程序员技术交流社区
标题: 【郑州校区】Java之品优购课程讲义_day15(5) [打印本页]
作者: 谷粒姐姐 时间: 2018-10-23 10:22
标题: 【郑州校区】Java之品优购课程讲义_day15(5)
2.1 获取登录名
我们在处理后端逻辑需要获得登录名,那么如何获取单点登录的用户名呢? 其实和我们之前获得用户名的方式是完全相同的,我们下面来做个测试。
(1) web.xml 添 加 springmvc
[AppleScript] 纯文本查看 复制代码
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class
>
<!-- 指定加载的配置文件 ,通过参数 contextConfigLocation 加载-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
(2)创建 springmvc.xml
[AppleScript] 纯文本查看 复制代码
<context:component-scan base-package="cn.itcast.demo" />
<mvc:annotation-driven />
(3)创建 UserController
[AppleScript] 纯文本查看 复制代码
@RestController
public class UserController { @RequestMapping("/findLoginUser") public void findLoginUser(){
String name = SecurityContextHolder.getContext().getAuthentication().getName();
System.out.println(name);
}
}
地址栏输入 http://localhost:9003/findLoginUser.do 即可在控制台看到输出的登录名。
2.1 退出登录
修改 spring-security.xml
[AppleScript] 纯文本查看 复制代码
<beans:bean id="requestSingleLogoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
<beans:constructor-arg value="http://localhost:9100/cas/logout?service=http://localhost:9003/index2.html"/
>
<beans:constructor-arg>
<beans:bean class="org.springframework.security.web.authentication.logout.SecurityContextLogout Handler"/>
</beans:constructor-arg>
<beans:property name="filterProcessesUrl" value="/logout/cas"/>
</beans:bean>
在页面上添加链接
[AppleScript] 纯文本查看 复制代码
< a href="/logout/cas">退出登录</ a>
创建 index2.html,将 index2.html 设置为可匿名访问
[AppleScript] 纯文本查看 复制代码
<http pattern="/index2.html" security="none"></http>
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |