小编jlp*_*jlp的帖子

获取Azure AD用户在声明中所属的组列表

我正在对Azure Active Directory的web api用户进行身份验证.现在我想获得该用户所属的组列表.

我更改了应用程序清单以包含

"groupMembershipClaims": "All",
Run Code Online (Sandbox Code Playgroud)

但所有这一切都是添加声明hasGroups但没有组名.

我在门户网站中为我的应用程序授予了Windows Azure Active Directory的所有(8)委托权限.

.net azure-active-directory adal azure-ad-graph-api

7
推荐指数
2
解决办法
1万
查看次数

使用 lodash 将 Typescript 中的项目分组

我需要按日期对一组对象进行分组:

var meetings =
[
   {date:"2001-01-01 13:00", place:"park"},
   {date:"2001-01-01 14:00", place:"school"},
   {date:"2001-01-02 11:00", place:"house"}
];
Run Code Online (Sandbox Code Playgroud)

所以它变成:

var groupedMeetings = 
[
   {
      day:"2001-01-01", 
      meetings: 
      [
         {date:"2001-01-01 13:00", place:"park"},
         {date:"2001-01-01 14:00", place:"school"}
      ]
   },
   {
      day:"2001-01-02", 
      meetings: 
      [
         {date:"2001-01-02 11:00", place:"house"}
      ]
   }
]
Run Code Online (Sandbox Code Playgroud)

我能够用 _.groupBy 和 _.map 将它们分组

var g = _.groupBy(meetings, function(i){return getDatePart(i.date);});
var groupedMeetings  = _.map(g, function(items,key){return {day:key, meetings:items};});
Run Code Online (Sandbox Code Playgroud)

但是我在使用https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/lodash/lodash.d.ts在 Typescript 中做同样的事情时遇到了问题

首先,我声明了我的课程:

class Meeting
    {
       date: Date,
       place: Meeting[]
    }
class GroupedMeeting
    {
      constructor(private day: Date, …
Run Code Online (Sandbox Code Playgroud)

typescript lodash definitelytyped

7
推荐指数
1
解决办法
2万
查看次数

如何使用多个嵌套项反序列化XML?

我已经给出了我无法更改的XML,我需要将其反序列化为自定义类:

<Person>
   <Addresses>
       <MainAddress>
          <Country />
          <City />
       </MainAddress>
       <AdditionalAddress>
          <Country />
          <City />
       </AdditionalAddress>
       <AdditionalAddress>
          <Country />
          <City />
       </AdditionalAddress>
       ... other additional addresses
   </Addresses>
   ... other elements
</Person>
Run Code Online (Sandbox Code Playgroud)

然后我反序列化:

XmlSerializer serializer = new XmlSerializer(typeof(Person), namespace);
Person person = serializer.Deserialize(stream) as Person;       
Run Code Online (Sandbox Code Playgroud)

如果简单元素被反序列化,则反序列化器可以正常工作.当有像地址这样的元素时,我在它的类上实现了IXmlSerializable:链接文本

问题是reader.ReadElementContentAsString()不能与复杂元素一起使用.

xml asp.net xml-serialization

6
推荐指数
1
解决办法
3516
查看次数

IQueryable <T>扩展方法,批量获取数据

有没有人发现/编码扩展方法批量查询数据(使用linq到sql)?我已经看过IEnumerable扩展,但我正在寻找我可能会使用的东西:

IQueryable<Order> orders = from i in db.Orders select i;
foreach(var batch in orders.InBatches(100))
{
   //batch of 100 products
   foreach(var order in batch)
   {
      //do something
   }
}
Run Code Online (Sandbox Code Playgroud)

.net c# linq-to-sql

6
推荐指数
1
解决办法
2372
查看次数

如何在.NET 3.5中的UserNamePasswordValidator中获取端点地址?

我需要在.NET 3.5中的自定义UserNamePasswordValidator中访问端点地址.

我正在安排

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
Run Code Online (Sandbox Code Playgroud)

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
Run Code Online (Sandbox Code Playgroud)

但是UserNamePasswordValidator中的HttpContext.Current为null.我在IIS 7.5中托管服务.我也尝试过.NET 4.0,但是我需要在3.5中找到解决方案.

有没有解决方法?

wcf .net-3.5

6
推荐指数
0
解决办法
190
查看次数

如何设置 WCF 安全以要求客户端证书?

我有 WCF 服务。我要求客户使用证书进行身份验证。这是服务配置:

<system.serviceModel>
        <services>
            <service name="FilmLibrary.FilmManager" behaviorConfiguration="FilmService.Service1Behavior">
                <endpoint address="manager" name="certBinding" binding="basicHttpBinding" contract="FilmContract.IFilmManager" />
            </service>            
        </services>
        <bindings>
            <basicHttpBinding>
                <binding name="certBinding">
                    <security mode="Message">
                        <message clientCredentialType="Certificate" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <behaviors>
            <serviceBehaviors>
                <behavior name="FilmService.Service1Behavior">
                    <serviceCredentials>
                        <clientCertificate>
                            <authentication trustedStoreLocation="LocalMachine" 
                            certificateValidationMode="PeerTrust" />
                        </clientCertificate>                                               
                    </serviceCredentials>    
            </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

公钥安装在LocalMachine, Trusted People

客户端配置如下:

<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="certBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="Message">
                        <message clientCredentialType="Certificate"/> …
Run Code Online (Sandbox Code Playgroud)

security wcf certificate

5
推荐指数
2
解决办法
2万
查看次数

XmlSerializer可以反序列化为Nullable <int>吗?

这是可以将XmlSerializer反序列化为Nullable <int>的副本吗?但我需要一个既不会改变xml文档也不会强迫我实现IXmlSerializable接口的解决方案.我不想实现IXmlSerializable,因为除了<number> 之外还有许多其他元素可以正确反序列化.

我的xml可以包含元素<number>4</number><number/>

<root>
...
either <number>4</number> or <number/>
... [other elements]
</root>
Run Code Online (Sandbox Code Playgroud)

public class root
{
public int? number {get; set;}
...
}
Run Code Online (Sandbox Code Playgroud)

不起作用.

asp.net xml-serialization

5
推荐指数
1
解决办法
2619
查看次数

如何在脚本中禁用RequiredFieldValidator

我的页面上有TextBox和RequiredFieldValidator.我也有链接,调用一些简单的JavaScript.

<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator
ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox1"
Display="Dynamic" /> 
<asp:LinkButton   ID="Link1" runat="server" OnClientClick="DoSomething(); return false;" CausesValidation="false"Text="Do" />

function DoSomething() {
textbox1.val("blah"); }
Run Code Online (Sandbox Code Playgroud)

当用户在文本框中键入内容然后删除该文本并关注下一个控件时 - 然后验证器将触发.然后用户可以使用使用javascript添加文本的链接.TextBox1文本不再为空,但RequiredFieldValidator仍显示错误消息.怎么预防?

javascript asp.net validation

5
推荐指数
2
解决办法
1万
查看次数

允许空元素或特定模式的XML模式限制

我想在XML模式中定义一个允许空字符串或某些特定模式的元素,例如:

<Code/> 
<Code></Code> 
<Code> </Code>
<Code>11111</Code>
<Code>111111</Code> - INVALID
<Code>AAAAA</Code> - INVALID
Run Code Online (Sandbox Code Playgroud)

如何修改现有限制?

<xs:element name="Code">                
<xs:simpleType>
<xs:restriction base="xs:string"> 
<xs:pattern value="[0-9]{5}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

xsd

4
推荐指数
1
解决办法
8515
查看次数

web.config授权是否适用于aspx以外的文件?

我有ASP.NET应用程序与表单身份验证.它运行良好,但我有一个目录与olly .txt文件(没有aspx文件)我希望用户不访问(或只登录用户).

我将web.config添加到此目录:

<system.web>
    <authorization>
        <deny users="?" />
    </authorization>
</system.web>
Run Code Online (Sandbox Code Playgroud)

编辑:

这仅适用于.aspx文件.它不适用于.txt文件和类似文件.用户无法浏览此目录或子目录,但知道.txt文件名可以访问它.

我尝试IIS6和IIS 7.5.在IIS6上.txt文件也受到限制,但在IIS 7.5上并非如此,可能是IIS配置问题.

asp.net authentication iis-7 iis-7.5

4
推荐指数
1
解决办法
4266
查看次数