c#能否写Radius服务器?

c#能否写Radius服务器?,第1张

如果你指的是用C#实现类似Radius的认证/授权/记录功能,这个是完全可以的。
以目前的技术来说,想模拟Radius,WCF是你最好的选择。
WCF自身体系就支持各种传输协议上的Windows域/用户身份验证,这点同Radius/NPS;与此同时,WCF同样是在服务端处理各种客户端接入,能够在服务方法被调用前/后截获客户端相关信息(包括身份)以便你自己进一步处理;同上,虽然记录功能需要自己实现,但是实现点也是很明显的:在服务方法调用前/后,或者服务实例创建/释放时。
如果你对WCF技术较为熟悉,请直接查阅其“身份验证”相关技术文档;
如果未曾接触WCF,可以直接阅览Artech的大作《WCF深入剖析》。
不想使用WCF而是使用传统技术来模拟Radius,可以追问或者给我留小纸条继续讨论~

Radius作用
Radius服务器能用来管理使用串口和调制解调器的大量分散用户。当用户想要通过某个网络(如电话网)与NAS建立连接从而获得访问其他网络的权利(或取得使用某些网络资源的权利)时,NAS起到了过问用户(或这个连接)的作用。NAS负责把用户的鉴别,授权,记账信息传递给Radius服务器。Radius协议规定了NAS与Radius服务器之间如何传递用户信息和记账信息,即两者之间的通信规则。Radius服务器负责接收用户的连接请求,完成鉴别,并把传递服务给用户所需的配置信息返回给NAS。用户获得授权后,在其正常上线、在线和下线过程中,Radius服务器完成对用户账号计费的功能。
RADIUS协议的认证端口号为1812(1645端口由于冲突已经不再使用),计费端口号为1813或(1646端口由于冲突已经不再使用)。RADIUS通过建立一个唯一的用户数据库,存储用户名,用户的密码来进行鉴别、存储传递给用户的服务类型以及相应的配置信息来完成授权。RADIUS协议具有很好的扩展性。RADIUS包是由包头和一定数目的属性(Attribute)构成的。新属性的增加不会影响到现有协议的实现。通常的NAS厂家在生产NAS时,还同时开发与之配套的Radius服务器。为了提供一些功能,常常要定义一些非标准的(RFC上没有定义过的)属性。

RADIUS 是一种用于在需要认证其链接的网络访问服务器(NAS)和共享认证服务器之间进行认证、授权和记帐信息的文档协议。
RADIUS server配置 RADIUS 服务器:在“ISA 服务器管理”的控制台树中,单击“常规”- 对于 ISA Server 2004 Enterprise Edition,依次展开“Microsoft Internet Security and Acceleration Server 2004”、“阵列”、“Array_Name”、“配置”,然后单击“常规”。 对于 ISA Server 2004 Standard Edition,依次展开“Microsoft Internet Security and Acceleration Server 2004”、“Server_Name”、“配置”,然后单击“常规”。 在详细信息窗格中,单击“定义 RADIUS 服务器”。 在“RADIUS 服务器”选项卡上,单击“添加”。 在“服务器名”中,键入要用于身份验证的 RADIUS 服务器的名称。 单击“更改”,然后在“新机密”中,键入要用于 ISA 服务器与 RADIUS 服务器之间的安全通讯的共享机密。必须在 ISA 服务器与 RADIUS 服务器上配置相同的共享机密,RADIUS 通讯才能成功。 在“端口”中,键入 RADIUS 服务器要对传入的 RADIUS 身份验证请求使用的用户数据报协议(UDP)。默认值 1812 基于 RFC 2138。对于更早的 RADIUS 服务器,请将端口值设置为 1645。 在“超时(秒)”中,键入 ISA 服务器将尝试从 RADIUS 服务器获得响应的时间(秒),超过此时间之后,ISA 服务器将尝试另一台 RADIUS 服务器。 如果基于共享机密的消息验证程序与每个 RADIUS 消息一起发送,请选择“总是使用消息验证程序”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13483067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存