• 33.2 Adding X.509 Authentication to Your Web Application


    启用X.509客户端身份验证非常简单。只需将< x509/>元素添加到您的http安全命名空间配置中。

    1 <http>
    2 ...
    3     <x509 subject-principal-regex="CN=(.*?)," user-service-ref="userService"/>;
    4 </http>

    该元素有两个可选属性:

      subject-principal-regex:用于从证书的使用者名称中提取用户名的正则表达式。默认值如上所示。这是用户名,它将被传递给用户详细信息服务UserDetailsService 来为用户加载权限。

      user-service-ref:这是将与X.509一起使用的用户详细信息服务UserDetailsService 的bean标识。如果在您的应用程序上下文中只定义了一个,则不需要它。

    subject-principal-regex应该包含一个单独的组。例如,默认表达式“CN=(。*?),”匹配常用名称字段。因此,如果证书中的主题名是“CN=Jimi Hendrix, OU=…”,这将给出一个用户名“Jimi Hendrix”。匹配不区分大小写。所以“电子邮件地址=(。?),”将匹配“EMAILADDRESS=jimi@hendrix.org,CN =……”给出用户名“jimi@hendrix.org”。如果客户端提供了证书并且成功提取了有效的用户名,那么在安全上下文中应该有一个有效的身份验证对象。如果找不到证书,或者找不到相应的用户,则安全上下文将保持为空。这意味着您可以轻松地将X.509身份验证与其他选项(如基于表单的登录)一起使用。

  • 相关阅读:
    C++自定义一个foreach宏,偷偷懒
    线程池介绍与示例
    iOS消息中心与传感
    new 和 malloc 申请内存失败的区别处理
    iOS调试技巧——当程序崩溃的时候怎么办
    随机数原理
    iOS麦克风运用——腾讯微博“吹一吹”
    个人技术博客
    SDN第一次作业
    GitKraken 团队项目使用教程
  • 原文地址:https://www.cnblogs.com/jrkl/p/13508496.html
Copyright © 2020-2023  润新知