青橙商城day_07 同源策略 、菜单分类、管理员登录日志、ip地址和浏览器

1.controller的web.xml的过滤器可以配置多个:如前端控制器的过滤器、spring security的过滤器:
在这里插入图片描述2.登录从数据库认证实现:

在这里插入图片描述

3.前台菜单实现(main.html)
在这里插入图片描述前台要求返回的json和我们后端的数据库表字段名不一样怎么办?
这个时候就不能直接返回实体类,要自己封装为map才行了,如下图:
在这里插入图片描述
上面的递归调用得到树状的三级菜单。

4.同源策略

在这里插入图片描述修改这个就行:
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
             xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
						http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">

    <!--以下页面不被拦截-->
    <http pattern="/login.html" security="none"></http>
    <http pattern="/login_error.html" security="none"></http>
    <http pattern="/css/**" security="none"></http>
    <http pattern="/img/**" security="none"></http>
    <http pattern="/js/**" security="none"></http>
    <http pattern="/*.ico" security="none"></http>


    <!--页面拦截规则-->
    <http>
        <intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')"></intercept-url>
        <form-login login-page="/login.html" default-target-url="/main.html"
                    authentication-failure-url="/login.html"/>
        
        <!--关闭跨域请求伪造控制-->
        <csrf disabled="true"></csrf>
        <!--修改同源策略-->
        <headers>
            <frame-options policy="SAMEORIGIN"></frame-options>
        </headers>
		<!--退出登录-->
        <logout/>
    </http>

    <!--认证管理器-->
    <authentication-manager>
        <authentication-provider user-service-ref="userDetailsService">
            <password-encoder ref="bcryptEncoder"></password-encoder>
        </authentication-provider>
    </authentication-manager>

    <beans:bean id="userDetailsService" class="com.qingcheng.controller.UserDetailsServiceImpl"></beans:bean>
    <beans:bean id="bcryptEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"></beans:bean>
</beans:beans>

5.显示登录人在这里插入图片描述在这里插入图片描述

6.退出

在这里插入图片描述7.管理员登录日志
在这里插入图片描述ip地址和浏览器(改上面的登陆成功处理器,set进去就行):
在这里插入图片描述在这里插入图片描述
Map还可以这样创建
Map map=new HashMap();

day07总结:今天完成的是认证功能、spring security菜单栏的显示、获取当前登录人、退出、管理员登录日志记录ip地址和浏览器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值