应用程序可根据用户信息授予和拒绝执行。FluorineFx.NET的认证和授权使用.Net Framework基于角色的安全性的支持。
比如说我们需要自定义一个认证与授权的方案,指定那些远程服务上的那些方法将要被认证或授权以及授权用户角色组等,我们就需要自定义一个 LoginCommand并实现ILoginCommand接口或者继承于 FluorineFx.Security.GenericLoginCommand(此类实现了ILoginCommand接口)基类。接口定义如下:
1 namespace FluorineFx.Security 2 { 3 public interface ILoginCommand 4 { 5 IPrincipal DoAuthentication(string username, Hashtable credentials); 6 bool DoAuthorization(IPrincipal principal, IList roles); 7 bool Logout(IPrincipal principal); 8 void Start(); 9 void Stop(); 10 } 11 }
网关通过调用该接口中的方法DoAuthentication()来实现验证,具体的验证规则我们可以自定义(重写方法的实现)。
1 /// <summary> 2 /// 自定义 LoginCommand 3 /// </summary> 4 public class LoginCommand : GenericLoginCommand 5 { 6 public override IPrincipal DoAuthentication(string username, Hashtable credentials) 7 { 8 string password = credentials["
|