其实这个问题的主要难点不在于多个安全提供程序,而在于
1.多个安全提供程序,应该如何验证?是发布的时候 ...
谢谢回复,
看起来是可以使用iopenidsecurityprovider的接口来解决即可!!!
就再测试看看, 实在不行, 就先采用ntlm的认证!
如果有成功再分享给大家!!!
ken_hongbinfeng 发表于 2021-4-7 10:04
谢谢回复,
看起来是可以使用iopenidsecurityprovider的接口来解决即可!!!
那我提前感谢一下大佬~~ Simon.hu 发表于 2021-4-7 14:13
那我提前感谢一下大佬~~
原本的想法是
使用微软的解决方案ADFS, 但是这个需要domain admin的权限, 总公司没有同意给
也没有同意可以给ADFS的分机在本地.....这个方案就放弃了,
然后希望是架设IdentityServer4来解决, 我看了很多文件后, 实在没有研究出如何使用,
就专门开发一个web app做ntlm认证用
最后的解决方式, 我是这样做的继承GrapeCity.Forguncy.SecurityProvider
开发一个
可以做企业微信及公司内部NTLM认证的oauth 2.0 dll
Step 1
用.net 5.0开发一个web app挂在IIS下面,
新增一个razorpage login送入return url + state,
可以得到domain account, 然后读取DB, 取得工号, 部门, email等资料
写入redis, 回复code及state
Step 2 开发SecurityProvider
ISupportSettings
建议使用ILSpy看葡萄城提供企业微信认证模块参考一下代码, 可以快速开发出 ISupportSettings的部分
这个其实不见得需要也可以hard code在代码里面
ISecuriptProvider
人员资料来源是公司内部SQL Server, 因此主要是开发UserInformaticas这个Function
这里我遇到了坑, 后来才发现需要分别产生Org, Users等资料, 如果只把Org加人是不够的
IOpenIdSecurityProvider
需要在GetRedirectUrl这个Function里面加入判断,
何时连到公司的开发ntlm认证主机, 何时连到企业微信的
然后在VerifyUser里面做使用一次性的code到主机取得用户资料
感谢大佬分享~~ Simon.hu 发表于 2021-4-7 08:42
其实这个问题的主要难点不在于多个安全提供程序,而在于
1.多个安全提供程序,应该如何验证?是发布的时候 ...
已经解决, 后来使用
1.架设IIS做NTLM认证
2.撰写三方认证+反向代理配合, 可以以支持内部NTLM认证和企业微信认证
:hjyzw:
大佬V5
页:
1
[2]