A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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>


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马