2012-08-08 85 views
1

我正在开发一个web应用程序,并在web.xml我有一些查询身份验证过程。所以如果一个人看到这个查询,他可以很容易地访问这些安全表。 是否可以访问我的web.xml或者我不应该担心?

更具体地说,我介绍了我的安全配置web.xml和安全上下文文件我有验证的查询。这是我讲的
是否可以从客户端访问web.xml?

<sec:authentication-manager alias="authenticationManager"> 
    <sec:authentication-provider> 
     <sec:jdbc-user-service data-source-ref="dataSource" 
      group-authorities-by-username-query=" 
            SELECT acg.ID, acg.GROUP_NAME, a.ROLE_NAME AS AUTHORITY 
            FROM USER_GROUP acg, USER_GROUP_MAPPING agm, PRINCIPAL_ROLE_MAPPING ga, ROLE a, INVESTOR_USER us 
            WHERE us.USERNAME = ? and agm.USER_ID = us.ID and acg.ID = ga.PRINCIPAL_ID and acg.ID = agm.USER_GROUP_ID and ga.ROLE_ID = a.ID 
           " 
      users-by-username-query="SELECT USERNAME,PASSWORD,IS_ACTIVE FROM INVESTOR_USER where USERNAME = ?" 
      authorities-by-username-query=" 
            SELECT ua.PRINCIPAL_ID AS USERNAME, a.ROLE_NAME AS AUTHORITY 
            FROM PRINCIPAL_ROLE_MAPPING ua, ROLE a, INVESTOR_USER us 
            WHERE us.USERNAME = ? and ua.PRINCIPAL_ID = us.ID and ua.ROLE_ID = a.ID 
           " /> 

     <sec:password-encoder ref="passwordEncoder"/>        
     <!-- <<<<<<<<<<<<<<<< Encoding Password >>>>>>>>>>>>>>>> --> 
    </sec:authentication-provider> 
</sec:authentication-manager> 


它是坏的部分(我使用Spring Security的)?我不应该使用它吗?

请用一些参考证明您的答案。
当然,请赐教其他替代品。

回答

3

是否可以从客户端访问web.xml?

为什么?因为根据Servlet Specification,所有可访问的资源都通过servlet公开。如果您尚未明确定义servlet(或过滤器或侦听器)来处理/公开.xml资源,则无需担心。

通常,Web容器负责保护配置资源。你可以相当确定它是如此成功。

您作为示例给出的代码不是您的web.xml,而是您的安全命名空间配置。这作为web.xml也是你不应该担心的事情。

一般来说除非你明确告诉它,否则一个servlet容器不会公开使用任何东西。

不好吗?我不应该使用它吗?

一般来说不是不坏。你也可以得出结论,如果spring security在其配置中支持SQL,那么他们也将其视为正常实践。

作为个人偏好,我倾向于使用自定义的UserDetailsServiceAuthenticationManager实现来处理用户身份验证,因为这会使数据库相关的代码不受安全性定义限制。但这只是一种偏好。

+0

不错......你让我失望了。谢谢。但是对于最后一段,有没有一个很好的教程'如何在Authentication Manager中使用我自己定制的UserDetailsS​​ervice?到目前为止,我只学过这种方法。 – 2012-08-08 08:37:27

+1

只需看看UserDetailsS​​ervice上的spring security文档。这也可能有所帮助:http://www.codercorp.com/blog/spring/security-spring/writing-custom-userdetailsservice-for-spring-security.html – Simeon 2012-08-08 08:39:06

+0

非常感谢@Simeon。你是人生的救星。 – 2012-08-08 08:41:04

相关问题