WCF身份验证及授权

1、使用asp.net成员资格提供程序

    指定安全访问并设定访问权限

  using System.Security.Permissions;
  using System.Security.Principal;
  using System.ServiceModel;
  using System.ServiceModel.Activation;
  using System.Web.Security;

  [PrincipalPermission(SecurityAction.Demand, Role = "Users")]

    数据库连接字符串

<connectionStrings>
    <add name="SqlConn" connectionString="Data Source=localhost;User ID=sa;Password=sasa123;Initial Catalog=aspnetdb;"/>
  </connectionStrings>

    成员资格节点

<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add 
          name="SqlMembershipProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="SqlConn"
          applicationName="MembershipAndRoleProviderSample"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
      </providers>
    </membership>

    权限管理节点

<roleManager enabled ="true" 
                 defaultProvider ="SqlRoleProvider" >
      <providers>
        <add name ="SqlRoleProvider" 
             type="System.Web.Security.SqlRoleProvider" 
             connectionStringName="SqlConn" 
             applicationName="MembershipAndRoleProviderSample"/>
      </providers>
    </roleManager>

     服务行为节点

 <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
                                roleProviderName ="SqlRoleProvider" />
          <serviceCredentials>
            <userNameAuthentication userNamePasswordValidationMode ="MembershipProvider" 
                                    membershipProviderName ="SqlMembershipProvider"/>
            <serviceCertificate storeLocation ="LocalMachine" 
                                storeName ="My" 
                                x509FindType ="FindBySubjectName"
                                findValue ="localhost" />
          </serviceCredentials>
          <serviceDebug includeExceptionDetailInFaults="false" />
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

 

 

2、使用自定义用户名和密码验证程序

 

 

 

3、消息安全证书

转载于:https://www.cnblogs.com/wanghonglei/archive/2012/04/25/2469910.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值