Spring Security重定向到禁止页面(403)

我们是博格

我在spring-mvc应用程序之上使用spring-security。关于我正在处理的应用程序的几点要点。

  1. 主页是登录页面,即/ users()。登录菜单用作HTML下拉菜单。
  2. 实现userDetailsService()UserDetails()不是AuthenticationManager/ provider
  3. 必须是没有任何角色的人才能查看主页。

现在的情况 :

  1. 将其重定向到entrypoint-ref中提到的403页。
  2. 不知道如何将其重定向到user.jsp或/ users
  3. 我可以在网上找到的所有示例都以某种方式显示了实现`AuthenticationManager的相同内容。一些代码:

security-context.xml

<import resource="servlet-context.xml" />

    <!-- Global Security settings -->
    <security:global-method-security pre-post-annotations="enabled" />


    <!-- Spring Security framework settings -->
    <security:http pattern="/users" use-expressions="true" auto-config="true" disable-url-rewriting="true" entry-point-ref="formAuthenticationEntryPoint">
        <security:session-management>
            <security:concurrency-control max-sessions="5" error-if-maximum-exceeded="false"/>
        </security:session-management>
        <security:intercept-url pattern="/*" requires-channel="any" access="permitAll" />
        <security:intercept-url pattern="/**" requires-channel="any" access="permitAll" />
    </security:http>
    <!-- queries to be run on data -->
    <beans:bean id="formAuthenticationEntryPoint"
                class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint"/>

    <bean id="LoginServiceImplementation" class="com.WirTauschen.service.LoginServiceImpl"></bean>

    <security:authentication-manager alias="authenticationManager">
        <security:authentication-provider user-service-ref="userDetailsService" />
    </security:authentication-manager>

</beans>

LoginServiceImpl:

@Service("userDetailsService")
public class LoginServiceImpl implements UserDetailsService{
    @Autowired private UserDao userDao;
    @Autowired private Assembler assembler;

    @Override
    @Transactional
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
            UserDetails userDetails = null;
            User user = userDao.findByName(username);
            if(user == null) { throw new UsernameNotFoundException("Wrong username or password");} //Never specify which one was it exactly
        return assembler.buildUserFromUserEntity(user);
    }
}

登录表单(包含在user.jsp中的hompage HTML代码的一部分)

<nav class="col-lg-5 col-md-5 col-sm-5">
            <ul class="pull-right">
                <li class="purple"><a href="#"><i class="icons icon-user-3"></i> Login</a>
                    <ul id="login-dropdown" class="box-dropdown">
                        <li>
                         <form id="form" action="<c:url value='/login'/>" method="POST">
                            <div class="box-wrapper">
                                <h4>LOGIN</h4>

                                <div class="iconic-input">
                                    <input type="text" placeholder="Username" name="username" id="username" value="">
                                    <i class="icons icon-user-3"></i>
                                </div>
                                <div class="iconic-input">
                                    <input type="password" placeholder="Password" name="password" id="password" value="">
                                    <i class="icons icon-lock"></i>
                                </div>
                                <input type="checkbox" id="loginremember"> <label for="loginremember">Remember me</label>
                                <br>
                                <br>
                                <div class="pull-left">
                                    <input name="submit" type="submit" class="orange" value="Login">
                                </div>
                                <div class="pull-right">
                                    <a href="#">Forgot your password?</a>
                                    <br>
                                    <a href="#">Forgot your username?</a>
                                    <br>
                                </div>
                                <br class="clearfix">
                            </div>
                            <div class="footer">
                                <h4 class="pull-left">NEW CUSTOMER?</h4>
                                <a class="button pull-right" href="create_an_account.html">Create an account</a>
                            </div>
                             </form>
                        </li>
                    </ul>
                </li>
                <li><a href="#"><i class="icons icon-lock"></i> Create an Account</a></li>
            </ul>
        </nav>

来自security-applicationContext.xml的表单登录

 <security:form-login login-page="/users" default-target-url="/users"/>

你能帮忙的话,我会很高兴。从来没有听说过弹簧安全只会是酷刑。

奥哈德

更新

您必须了解Spring的工作原理:客户端尝试访问受保护的资源(例如,用户页面);如果他尚未登录,则将其重定向(Spring将其重定向)到登录页面。

在您的Spring beans.xml中,您声明什么是登录页面。如果在此放置“ /login.html”,则必须确保具有登录表单的此类页面。用户登录后,Spring会将其重定向回/ users。

说得通?

更新二

您可以将登录页面(例如Amazon ...)设为公开页面(例如index.html),这意味着用户无需登录即可看到它。然后,那里有指向“受保护资源”的链接,如果用户尝试单击它并获取受保护的资源,Spring会将他重定向到登录页面。如果你想做到这一点,你把你“保护资源”在特定目录下(例如/担保),你将有所有prote ç特德资源HTML / JSP /等。您可以在beans.xml中进行配置:(请注意,“欢迎”页面是不安全的,每个人都可以在不登录的情况下看到它)

<sec:http pattern="/welcome" security="none" />

 <sec:http authentication-manager-ref="authenticationManager">
        <sec:intercept-url pattern="/secure/**" access="ROLE_USER" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Security重定向到禁止页面(403)

来自分类Dev

登录后,Spring Security再次重定向到登录页面

来自分类Dev

Spring Security总是重定向到登录页面

来自分类Dev

Spring Security和angular javascript重定向到登录页面

来自分类Dev

Spring Security:登录后重定向到登录页面

来自分类Dev

Spring Security和Angular javascript重定向到登录页面

来自分类Dev

Spring Security:登录后重定向到登录页面

来自分类Dev

登录后,Spring Security再次重定向到登录页面

来自分类Dev

Spring Security将自定义登录页面重定向到其自身-重定向过多

来自分类Dev

使用重定向:uri登录后将Spring Security重定向到页面

来自分类Dev

Spring Boot Security 403重定向

来自分类Dev

Spring Boot-返回403 Forbidden而不是重定向到登录页面

来自分类Dev

Spring Security不会重定向到主页

来自分类Dev

Spring不重定向到HTML页面

来自分类Dev

Grails Spring Security-登录后总是重定向到特定页面吗?

来自分类Dev

Spring Security需要在BadCredentialsException上重定向到登录页面

来自分类Dev

Spring Security-能够在初始重定向到主页后返回登录页面

来自分类Dev

如果用户未经授权,Spring Security如何重定向到“登录”页面

来自分类Dev

使用Spring Security Core插件在Grails中登录后如何重定向到页面

来自分类Dev

使用Spring Security登录后无法将用户重定向到所需页面

来自分类Dev

从Spring Security中排除从登录页面重定向的特定页面

来自分类Dev

配置Spring Security返回REST URL的403并重定向到其他URL的登录名

来自分类Dev

配置Spring Security返回REST URL的403并重定向到其他URL的登录名

来自分类Dev

该页面未正确重定向Spring Security

来自分类Dev

成功通过身份验证后,通过提供拒绝访问的异常,Spring Security重定向到登录页面

来自分类Dev

Spring Security-用户身份验证有时会失败,并且用户将被重定向到登录页面

来自分类Dev

用户在spring security中注销时如何不重定向到另一个页面

来自分类Dev

Spring Security:登录后如何重定向到REST URL

来自分类Dev

Spring Security *始终*重定向到登录表单

Related 相关文章

  1. 1

    Spring Security重定向到禁止页面(403)

  2. 2

    登录后,Spring Security再次重定向到登录页面

  3. 3

    Spring Security总是重定向到登录页面

  4. 4

    Spring Security和angular javascript重定向到登录页面

  5. 5

    Spring Security:登录后重定向到登录页面

  6. 6

    Spring Security和Angular javascript重定向到登录页面

  7. 7

    Spring Security:登录后重定向到登录页面

  8. 8

    登录后,Spring Security再次重定向到登录页面

  9. 9

    Spring Security将自定义登录页面重定向到其自身-重定向过多

  10. 10

    使用重定向:uri登录后将Spring Security重定向到页面

  11. 11

    Spring Boot Security 403重定向

  12. 12

    Spring Boot-返回403 Forbidden而不是重定向到登录页面

  13. 13

    Spring Security不会重定向到主页

  14. 14

    Spring不重定向到HTML页面

  15. 15

    Grails Spring Security-登录后总是重定向到特定页面吗?

  16. 16

    Spring Security需要在BadCredentialsException上重定向到登录页面

  17. 17

    Spring Security-能够在初始重定向到主页后返回登录页面

  18. 18

    如果用户未经授权,Spring Security如何重定向到“登录”页面

  19. 19

    使用Spring Security Core插件在Grails中登录后如何重定向到页面

  20. 20

    使用Spring Security登录后无法将用户重定向到所需页面

  21. 21

    从Spring Security中排除从登录页面重定向的特定页面

  22. 22

    配置Spring Security返回REST URL的403并重定向到其他URL的登录名

  23. 23

    配置Spring Security返回REST URL的403并重定向到其他URL的登录名

  24. 24

    该页面未正确重定向Spring Security

  25. 25

    成功通过身份验证后,通过提供拒绝访问的异常,Spring Security重定向到登录页面

  26. 26

    Spring Security-用户身份验证有时会失败,并且用户将被重定向到登录页面

  27. 27

    用户在spring security中注销时如何不重定向到另一个页面

  28. 28

    Spring Security:登录后如何重定向到REST URL

  29. 29

    Spring Security *始终*重定向到登录表单

热门标签

归档