小编Saa*_*aan的帖子

如何使SSDT Profile.xml SqlCmdVariable为空字符串或可选

我正在为我们的MSSQL项目使用SSDT(和sqlproj).发布到每个环境时,我们需要设置一些变量.

这在我们为所有变量赋值的大多数环境中都很有用,但是当我们发布到我们的实时数据库时,我希望能够使DomainPrefix成为空白字符串.

当我尝试更改Live.profile.xml以将DomainPrefix设置为无值时,我收到错误:"生成部署计划期间发生错误.部署无法继续.缺少以下SqlCmd变量的值:DomainPrefix."

这就是我希望Live.profile.xml看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
  <PropertyGroup>
    <TargetDatabaseName>DB_NAME</TargetDatabaseName>
    <DeployScriptFileName>DB_NAME.sql</DeployScriptFileName>
    <TargetConnectionString>CONNECTION_STRING</TargetConnectionString>
    <ProfileVersionNumber>1</ProfileVersionNumber>
  </PropertyGroup>
  <ItemGroup>
    <SqlCmdVariable Include="DomainPrefix">
      <Value></Value>
    </SqlCmdVariable>
    <SqlCmdVariable Include="Environment">
      <Value>live</Value>
    </SqlCmdVariable>
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何将SqlCmdVariable设置为空值或使其成为可选变量?

使用:

  • VS 2013 sqlproj
  • SqlPackage.exe从命令行运行发布到DB

sql-server sqlcmd sqlproj sqlpackage sql-server-data-tools

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

asp.net MVC 3将AuthorizeAttribute应用于区域

我目前正在编写一个Admin MVC 3站点,每个用户只能访问该站点的某些部分.

我的站点区域与用户角色相同,所以我想要做的是在每个区域放置AuthorizeAttribute,使用区域名称作为角色中的参数.

到目前为止,当我对每个区域的检查进行硬编码时,我已经开始工作了,但是我想循环遍历所有区域并应用授权过滤器.(我使用它作为我的自定义FilterProvider - http://www.dotnetcurry.com/ShowArticle.aspx?ID=578)

到目前为止我的代码("Gcm"是我的一个领域,也是一个角色):

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
    // for all controllers, run AdminAuthorizeAttribute to make sure they're at least logged in
    filters.Add(ObjectFactory.GetInstance<AdminAuthorizeAttribute>());

    AdminAuthorizeAttribute gcmAuthroizeAttribute = ObjectFactory.GetInstance<AdminAuthorizeAttribute>();
    gcmAuthroizeAttribute.Roles = "Gcm";

    var provider = new FilterProvider();
    provider.Add(
        x =>
        x.RouteData.DataTokens["area"] != null && x.RouteData.DataTokens["area"].ToString() == "Gcm"
            ? gcmAuthroizeAttribute
            : null);
    FilterProviders.Providers.Add(provider);
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何获得我的应用程序的所有区域,所以我可以循环它们,而不是硬编码每个区域?

或者,如果有人对如何授权每个区域有更好的了解,那将是值得赞赏的.

谢谢你的帮助Saan

asp.net-mvc filter asp.net-mvc-areas authorize-attribute asp.net-mvc-3

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

自定义MVC5 ASP.NET标识中的cookie值

我正在更改我们的身份验证实现以使用Owin的MVC5 ASP.NET身份.

但是,我们需要将我们的登录与同一域中的其他链接应用程序和网站集成.我们目前通过在多个子域之间共享应用程序之间的cookie来实现此目的.Cookie采用非常特定的格式和加密算法,可以使用各种应用程序和技术(即并非所有应用程序和技术都在.NET或同一服务器上).

我发现在App_Start ConfigureAuth.cs中你可以设置app.UseCookieAuthentication来指定cookie名称和cookie子域的内容(例如跨子域的ASP.NET Identity Cookie).

这是一个非常好的开始,但我还需要将cookie的实际值更改为特定格式和加密算法.

有谁知道如何自定义用于创建和读取cookie的值和加密类型?

谢谢你的帮助,Saan

c# asp.net cookies asp.net-mvc asp.net-identity

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

错误:流畅的NHibernate映射,它引用了不同程序集中的映射

我的公司有多个站点,它们引用相同的DB和Core代码库.然后我们有一个管理数据的CMS.

在Core库中,我有一个Site类,它包含有关每个站点的一堆基本信息.这是我对它的流畅映射.

using Core.Model;  // Where Site class exists

namespace Core.Repository.NHibernate.Mappings
{
    public class SiteMapping : ClassMap<Site>
    {
        public SiteMapping()
        {
            Table("f_site");
            Id(x => x.Id, "f_site_id").GeneratedBy.Identity();
            Map(x => x.Domain, "domain_name").Not.Nullable();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

作为CMS的一部分,我们会记录谁编辑了什么以及何时编辑.但我想只在CMS中引用Log类和映射,而不是在我的核心代码中,因为人们只能通过CMS编辑信息.

这是我当前流向Log类的流程映射,它引用了Site类.

using Core.Model; // where Site class exists
using Cms.Model; // where Log and CmsUser classes exists

namespace Cms.Repository.NHibernate.Mappings
{
    public class LogMapping : ClassMap<Log>
    {
        public LogMapping()
        {
            Table("f_log");
            Id(x => x.Id, "f_log_id").GeneratedBy.Identity();
            Map(x => x.Message, "message");
            Map(x => x.LogType, "d_log_type_id").CustomType<LogType>();
            Map(x => x.LogOperation, "d_log_operation_id").CustomType<LogOperation>(); …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping fluent-nhibernate fluent-nhibernate-mapping

0
推荐指数
1
解决办法
2329
查看次数