基于shibboleth的分布式认证之IDP配置

本文档详细介绍了IDP的安装步骤及配置方法,包括基本的Apache和Tomcat部署、域名配置、证书设置等,并提供了如何配置IDP与SP的信任关系及使用CAS验证的具体指导。

IDP安装配置文档

本文主要说明IDP的安装过程,适用于有一定apache和tomcat部署基础的人员。

安装IDP

1:首先解压shibboleth-identityprovider-2.3.3-bin.zip,进入文件件之后,install.bat文件。进行IDP安装


填写安装路径,回车,我这里就是安装在f:\opt-idp中。如果文件夹已经存在,则会有提示,输入yes回车即可。

2: 配置IDP域名:这里输入IDP对应的域名即可。如果没有域名,则输入IP。回车。

 

第三步需要输入证书密码。我这里输入dsideal:


如果不报错,就说明IDP安装成功。


系统安装成功之后,形成的目录结构如上。其中,需要配置的主要是conf目录中的文件。War文件夹中形成的是war文件,该文件我们可以不用他的,而是用我们自行编译的文件放置到tomcat中。

安装完毕idp之后,我们需要对idp进行相应的配置:

<rp:AnonymousRelyingPartyprovider="http://10.10.8.31:8080/idp/shibboleth"defaultSigningCredentialRef="IdPCredential"/>

   

    <rp:DefaultRelyingParty provider="http://10.10.8.31:8080/idp/shibboleth"defaultSigningCredentialRef="IdPCredential">

这里我们没有采用ssl配置。

默认的idp的标示文件是在idp安装目录下的metadata文件夹下的

Idp-metadata.xml文件。

编辑该文件。使得其中的应用名称和地址正确。如果不使用ssl。则将所有的https更改为http。将8443端口改为相应的应用端口。

配置IDP与其信任的SP

         配置IDP信任的SP主要是通过IDP根目录中/conf/relying-party.xml 文件配置,在MetadataProvider 中添加:

<metadata:MetadataProviderid="IdPMD" xsi:type="metadata:FilesystemMetadataProvider"

                                  metadataFile="e:\shibboleth\idp/metadata/idp-metadata.xml"

                                  maxRefreshDelay="P1D" />

        <metadata:MetadataProviderid="school1SP" xsi:type="metadata:FileBackedHTTPMetadataProvider"

                         metadataURL="http://10.10.8.31/Shibboleth.sso/Metadata"

                         backingFile="e:/shibboleth/idp/metadata/sp-school1.xml">

                   </metadata:MetadataProvider>

                   <metadata:MetadataProviderid="school2SP"xsi:type="metadata:FileBackedHTTPMetadataProvider"

                         metadataURL="http://10.10.8.30/Shibboleth.sso/Metadata"

                         backingFile="e:/shibboleth/idp/metadata/sp-school2.xml">

                   </metadata:MetadataProvider>        

配置IDP使用CAS验证

1:编辑handler.xml文件中的login handlers部分

 

  <!-- Login Handlers -->

    <ph:LoginHandlerxsi:type="ph:RemoteUser">

       <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</ph:AuthenticationMethod>

         <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</ph:AuthenticationMethod>

</ph:LoginHandler>

 

2:将IDP作为CAS客户端进行接入

这里其实就是简单的将IDP应用作为一个CAS客户端进行接入即可。

参见《统一认证系统接入文档》

<filter>

                   <filter-name>filterchainproxy</filter-name>

                   <filter-class>dsidealsso.FilterChainProxy</filter-class>

                   <init-param>

                            <param-name>casServerLoginUrl</param-name>

                            <param-value>

                                     http://10.10.8.33:8080/dsssoserver/login

                            </param-value>

                   </init-param>

                   <init-param>

                            <param-name>serverName</param-name>

                            <param-value>http://localhost:8030</param-value>

                   </init-param>

                   <init-param>

                            <param-name>casServerUrlPrefix</param-name>

                            <param-value>http://10.10.8.33:8080/dsssoserver</param-value>

                   </init-param>                 

                   <init-param>

                            <param-name>encoding</param-name>

                            <param-value>utf-8</param-value>

                   </init-param>

                   <init-param>

                            <param-name>nofilter</param-name>

                            <param-value>/shibboleth**</param-value>

                   </init-param>

         </filter>

         <filter-mapping>

                   <filter-name>filterchainproxy</filter-name>

                   <url-pattern>/*</url-pattern>

         </filter-mapping>

IDP自身配置

如果使用IDP没有域名,则需要对IDP配置文件进行配置

IDP用户属性传递

IDP能够向用户传递那些属性主要取决于attribute-resolver.xml文件。

在该文件中定义数据源和响应的用户属性查询语句,然后通过<dc:Column>标签定义查询语句中的列与相关属性的对应关系。这里就以简单属性为例进行说明。

<resolver:DataConnector id="mySIS"xsi:type="dc:RelationalDatabase">

       <dc:ApplicationManagedConnectionjdbcDriver="oracle.jdbc.driver.OracleDriver"        jdbcURL="jdbc:oracle:thin:@222.27.106.22:1521:ORCL "

 jdbcUserName="kpdssso"

 jdbcPassword="kpdssso" />

       <dc:QueryTemplate>

           <![CDATA[

                SELECT * FROM T_SYS_LOGINPERSONWHERE LOGIN_NAME = '$requestContext.principalName'

           ]]>

       </dc:QueryTemplate>

       <dc:Column columnName="LOGIN_NAME"attributeID="loginName" />

       <dc:Column columnName="REAL_NAME"attributeID="realName" />   </resolver:DataConnector>

通常,这里的数据源和CAS的数据源应该是一致的。

查询出相关的属性之后,就需要定义属性的解析方式了。这里以上文定义的查询数据为例进行说明:

<resolver:AttributeDefinitionxsi:type="ad:Simple" id="loginName"sourceAttributeID="loginName">

       <resolver:Dependency ref="mySIS" />

       <resolver:AttributeEncoder xsi:type="enc:SAML1String"name="urn:mace:dir:attribute-def:loginName" />

       <resolver:AttributeEncoder xsi:type="enc:SAML2String"name="urn:oid:2.5.4.43d" friendlyName="loginName" />

   </resolver:AttributeDefinition>          

         <resolver:AttributeDefinitionxsi:type="ad:Simple" id="realName"sourceAttributeID="realName">

       <resolver:Dependency ref="mySIS" />

       <resolver:AttributeEncoder xsi:type="enc:SAML1String"name="urn:mace:dir:attribute-def:realName" />

       <resolver:AttributeEncoder xsi:type="enc:SAML2String"name="urn:oid:2.5.4.44" friendlyName="realName" />

   </resolver:AttributeDefinition>          

这里兼顾了saml1和saml2版本的解析。目前我们采用的是saml2机制,所以,saml解析解析可以省略不写。

这里的name属性必须是唯一的。SP是通过name属性获得用户信息的。

这里,IDP可以向SP发送的用户属性就配置完毕了。

内容概要:本文围绕面向新能源容量提升的含智能软开关(SOP)的配电网重构问题,提出了一种基于二阶锥规划(SOCP)的双层优化模型。该模型上层以提升新能源消纳能力为目标进行网络重构,下层利用SOP灵活调节功率分布,解决重构过程中可能出现的潮流越限问题。通过将非凸的最优潮流问题转化为二阶锥松弛形式,有效提高了求解效率与计算可行性,并在标准算例系统中验证了该方法在降低网损、均衡负荷分布及提升新能源利用率方面的优越性。研究不仅提供了理论建模思路,还配套实现了Matlab代码,便于算法复现与拓展应用。; 适合人群:电力系统、新能源并网、智能配电网及相关领域的科研人员与工程技术人员,具备一定的优化理论基础与Matlab编程能力者优先。; 使用场景及目标:①应用于高渗透率分布式新能源接入背景下的配电网运行优化;②为智能软开关与网络重构的协同控制提供可复现的数学建模与求解方案;③支撑新型电力系统中提升电网灵活性、可靠性和新能源承载力的关键技术研究。; 阅读建议:建议结合提供的Matlab代码深入理解二阶锥松弛技术在电力系统优化中的具体实现,重点关注模型构建、非线性约束的线性化处理以及双层优化架构的分解求解逻辑,可通过调整参数或测试不同场景进一步验证算法鲁棒性与适应性。
内容概要:本文档聚焦于“光伏并网逆变器扫频与稳定性分析”的博士论文关键技术复现,核心内容涵盖阻抗建模与扫频法验证。资源提供了完整的Matlab代码与Simulink仿真模型,系统实现了包含锁相环(PLL)和电流环控制的光伏并网逆变器系统,用于开展序阻抗建模、小信号扫频辨识及弱电网条件下的稳定性分析。文档不仅详细展示了建模与仿真流程,还列举了多个相关科研方向与技术服务内容,凸显其在电力电子、新能源并网系统仿真与理论验证方面的学术价值与实践指导意义。; 适合人群:具备电力电子、自动控制或新能源并网技术背景,从事相关领域科研工作的研究生、博士生及工程技术人员。; 使用场景及目标:①深入学习光伏并网逆变器的阻抗建模方法与小信号扫频仿真技术;②复现并掌握博士论文中的稳定性分析过程,探究锁相环与电流环对系统稳定性的关键影响;③开展弱电网环境下新能源并网系统的宽频带振荡机理与交互稳定性研究,支撑高水平科研项目与论文撰写; 阅读建议:建议结合Simulink仿真模型与Matlab代码同步运行与调试,重点关注扫频激励信号的设计、频响数据的采集处理及阻抗曲线的绘制与分析流程,同时参考文中提及的原始文献,系统构建“理论建模—仿真验证—数据分析—结论提炼”的完整科研闭环。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值