小编dr_*_*aik的帖子

将表单身份验证与Windows身份验证混合

我有一个(ASP.NET 3.5)Intranet应用程序,它被设计为使用表单身份验证(以及默认的aspnet成员资格系统).我还在另一个表中存储有关用户的其他信息,该表与aspnet_users表共享其主键.

对于属于我们域的用户,我将其域帐户名存储在辅助用户表中,并且我希望自动登录其域帐户名与存储在表中的名称匹配的用户.

我已经阅读了可用的指南 - 它们都来自两年或更长时间,并且假设您能够在单独的登录页面上激活Windows身份验证,该页面允许您提取域帐户名称.但是,据我所知,这在IIS7中是不可能的(整个身份验证方法适用于所有页面,无法有选择地停用,并且两种身份验证方法都不能应用于同一页面).

有没有办法让IIS通过请求用户的Windows域帐户名?我不需要正确的AD身份验证,只需要域名.

asp.net iis-7 forms-authentication windows-authentication

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

使用带有参数的 Visual Studio 自定义模板时,如何获取实际的根命名空间?

我正在尝试设置一个模板来创建一个具有一些基本结构和默认 using 语句的单元测试类。我创建了一个 VS2010 自定义模板来执行此操作,几乎一切正常。

我遇到的问题是,我试图在 using 语句中引用项目的基本命名空间,但无法确定是否有参数可以让我执行此操作。

我想要的示例,假设我的项目名为 MyProduct.Test:

using NUnit.Framework;
using MyProduct.Test.Base;

namespace MyProduct.Test.BLL.Services.MyService
{
    [TestFixture]
    public class MyServiceTest : TestBase
    {
        [SetUp]
        public void Setup()
        etc...
Run Code Online (Sandbox Code Playgroud)

我可以生成除using MyProduct.Test.Base以下模板之外的所有内容:

using NUnit.Framework;
using $safeprojectname$.Base;

namespace $rootnamespace$
{
    [TestFixture]
    public class $safeitemname$ : TestBase
    {
        [SetUp]
        public void Setup()
        etc...
Run Code Online (Sandbox Code Playgroud)

不幸的是,$safeprojectname$ 仅适用于项目模板,不适用于项目模板。

该模板会产生以下输出:

using NUnit.Framework;
using $safeprojectname$.Base;

namespace MyProduct.Test.BLL.Services.MyService
{
    [TestFixture]
    public class MyServiceTest : TestBase
    {
        [SetUp]
        public void Setup()
        etc...
Run Code Online (Sandbox Code Playgroud)

有什么方法可以让我获得项目的实际根命名空间(因为 $rootnamespace$ 实际上根据其位置输出要添加的文件的命名空间)?

注意:显然,我可以将其设置为适用于一个项目,但拥有一个适用于所有项目的模板会更有用。

templates visual-studio

5
推荐指数
0
解决办法
852
查看次数