首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弹簧security_Password加密

弹簧security_Password加密
EN

Stack Overflow用户
提问于 2015-05-14 07:16:59
回答 1查看 125关注 0票数 1

使用spring安全性登录对多个用户来说是很好的。现在我必须使用密码登录到应用程序,这个密码应该在数据库中加密。

HomeController:在这里,我从表单中检索用户名和密码。 spring-security.xml:这里我从DB检索用户名和密码。

现在,在某个地方,我必须比较这些密码来匹配,然后我必须让这个人登录。

请给我一个主意,我们如何可以使用弹簧安全。??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-14 07:44:00

我相信在使用Security时,您不会做与自己匹配的凭据。这是您配置的AuthenticationManager的责任。

您可以在匹配凭据时指定要使用的编码器,例如:-

代码语言:javascript
复制
<!-- This is the authentication manager -->
<authentication-manager>
   <authentication-provider user-service-ref="yourUserService">
    <password-encoder hash="sha"/>
   </authentication-provider>
</authentication-manager>

您所需要关心的就是将编码密码存储在用户详细信息表中。

看看文档

扰流板

如果使用Security,则不需要有一个控制器来收集用户凭据。Spring安全过滤器负责处理这个问题。

例如:-

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:security="http://www.springframework.org/schema/security"
       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-3.2.xsd">

    <security:global-method-security secured-annotations="enabled" />

    <security:http auto-config="true">
        <!-- Restrict URLs based on role -->
        <security:intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <security:intercept-url pattern="/logoutSuccess*" access="IS_AUTHENTICATED_ANONYMOUSLY" />

        <security:intercept-url pattern="/css/main.css" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <security:intercept-url pattern="/resources/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />

        <security:intercept-url pattern="/**" access="ROLE_USER" />

        <!-- Override default login and logout pages -->
        <security:form-login login-page="/login.html" // this is where your custome login page lives.
                             login-processing-url="/loginProcess"  //this is where you POST your login form
                             default-target-url="/index.jsp" 
                             authentication-failure-url="/login.html?login_error=1" />
        <security:logout logout-url="/logout" logout-success-url="/logoutSuccess.html" />
    </security:http>

    <security:authentication-manager>
        <security:authentication-provider >
            <security:jdbc-user-service data-source-ref="dataSource" />
        </security:authentication-provider>
    </security:authentication-manager>

</beans>

我建议你通过一个参考文档和简单的博客/教程(有很多)。

更重要的是,给弹簧启动安全性一个机会。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30231531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档