小编tra*_*max的帖子

如何在 OpenXML Word 文档中嵌入字体文件

我正在用 C# 在 OpenXML 中构建一个 Word 文档。

我必须使用的字体之一是定制的品牌字体。该字体在客户机器上不可用。

是否可以在.docx文件中嵌入字体文件并在字体样式中引用该字体。如果是,这如何在 C# SDK 中完成?

到目前为止,这似乎是不可能的,但我可能错过了某个地方的文档页面。

ps 我已经有了带有嵌入字体的 PDF。现在我需要相同的 Word 文档。

c# fonts openxml-sdk

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

移动Web应用程序:<header> vs <div data-role ="header">.有什么不同?

我正在使用HTML5和jQuery mobile进行移动Web应用程序. HTML5 Mobile Boilerplate建议:

<body>
  <div id="container">
    <header>

    </header>
    <div id="main" role="main">

    </div>

    <footer>

    </footer>
  </div> <!--! end of #container -->
</body>
Run Code Online (Sandbox Code Playgroud)

jQuery Mobile的(见"将其组合在一起:基本单一的页面模板") ,建议

<body> 
    <div data-role="page">

        <div data-role="header"></div>

        <div data-role="content"></div>

        <div data-role="footer"></div>

    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

哪种方式更可取?<header>和之间有什么区别data-role="header"

我确实尝试使用谷歌搜索,但到目前为止没有答案.

html5 mobile-application jquery-mobile

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

MVC3应用程序中的只读用户权限,且更改最少

我有一个为ASP.Net MVC3应用程序创建只读用户的任务.即他们可以登录,查看所有数据,但无法更新任何数据.

我已经阅读了很多认证文章/框架,如下所示:在ASP.Net MVC中实现安全的ASP.NET MVC应用程序,Fluent安全配置创建动作过滤器(以及其他一些,我已经丢失了链接) .

大多数方法的问题是它们需要对域/应用程序进行重大更改.我只有一天时间来实现这个功能.

我们有大约一百个控制器,每个控制器平均有4个动作(主要是CRUD操作),并且通过它们中的每一个都是不可能的.此外,很容易忘记在新代码上添加属性 - 引入错误.

到目前为止,我已经提出了全局过滤器,它拒绝所有基于POST的操作和称为"创建"的控制器操作为只读用户:

public class ReadOnlyFilter : IActionFilter 
{

    public void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var currentUser = HttpContext.Current.User;
        if (currentUser == null || !currentUser.Identity.IsAuthenticated)
            return; // user is not logged in yet


        if (!currentUser.IsInRole("Readonly")) 
            return; // user is not read-only. Nothing to see here, move on!

        // Presume User is read-only from now on.


        // if action is of type post - deny …
Run Code Online (Sandbox Code Playgroud)

c# architecture filter readonly asp.net-mvc-3

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

仅为一个通用命令处理程序注册Autofac装饰器

我们有许多通用命令处理程序,由Autofac以开放式通用方式注册.我们有几个装饰器来装饰所有手柄.现在我需要为一个命令处理程序注册一个装饰器,而不是影响所有其他命令处理程序.这是我的尝试,但我似乎没有正确注册.

这是与我们的代码类似的简单测试代码:

我们有数百个命令如下:

class NormalCommand : ICommand { }

// This command handler should not be decorated
class NormalCommandHandler : ICommandHandler<NormalCommand>
{
    public void Handle(NormalCommand command) { }
}
Run Code Online (Sandbox Code Playgroud)

而且我想TestCommandHandler在装饰器中包装TestCommandHandlerDecorator

class TestCommand : ICommand { }

// And I would like to put decorator around this handler
class TestCommandHandler : ICommandHandler<TestCommand>
{
    public void Handle(TestCommand command) { }
}

// This decorator should be wrapped only around TestCommandHandler
class TestCommandHandlerDecorator : ICommandHandler<TestCommand>
{
    private readonly ICommandHandler<TestCommand> decorated; …
Run Code Online (Sandbox Code Playgroud)

c# decorator autofac

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

将TeamCity连接到Visual Studio Online

我正在尝试从本地TFS迁移到Visual Studio Online.我们有相当精细的TeamCity构建过程,我们不想迁移,因此让TeamCity与VSO合作将是理想的.

我已经创建了替代用户凭据(根据本文)并在TeamCity中使用这些凭据.但是当我在TeamCity中创建新的VCS时,我收到连接错误:

TF30063: You are not authorized to access https://myproject.visualstudio.com/DefaultCollection/MyProject
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我的实际凭证(不是替代的凭证)但没有改变 - 同样的错误.

此外,我尝试使用tf命令行工具的替代凭据,无法输入替代凭据 - 弹出一个窗口,询问我的LiveId.

知道如何解决这个问题吗?

ps这是TeamCity配置的样子:

在此输入图像描述

tfs teamcity-8.0 tfvc azure-devops

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

ASP.Net Identity 2.0:用户是System.Web.Security.RolePrincipal,为什么?

我正在尝试在现有应用程序中实现Asp.Net Identity 2.0(OWIN),并且在角色方面遇到各种各样的麻烦.我从项目模板创建了一个示例项目(据我所知)我已经将所有内容复制到我的应用程序中.我修改了连接信息,因此身份验证表来自我自己的Sql数据库,而不是默认的本地数据库.

一切似乎都很好.这些表在启动时初始化(创建),我可以创建新用户,为该用户分配角色,并以该用户身份登录.但是当我尝试检查用户是否处于特定角色时,我得到一个异常,表明找到本地数据库时出现问题.好吧那是因为我没有使用本地数据库.那么为什么我的应用程序会在(不存在的)本地数据库中寻找角色?

为了排除我的Sql实例中的怪异,我更改了示例应用程序的连接数据,以便它指向我的数据库并运行它.我可以使用我在应用程序中创建的用户登录,甚至可以成功地轮询用户以查询相关角色.我通过直接检查表确认了这一点,并验证了用户,角色和用户角色关联都在那里.

这是我注意到的.当我运行示例应用程序时,用户是一个实例System.Security.Claims.ClaimsPrincipal.但是,当我运行我的应用程序时,用户是一个实例System.Web.Security.RolePrincipal.

那么,我错过了什么?为什么我的应用程序返回RolePrincipal而不是ClaimsPrincipal?我在哪里可以找到线索?

我正在把头发拉出来,我没有多少离开!任何帮助将不胜感激.

asp.net owin asp.net-identity

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

我们也可以在Windows /桌面应用程序中使用Asp.net Identity API吗?

我有一个项目,它有一个基于asp.net mvc的门户,使用Asp.net Identity API管理用户身份验证/授权.

该项目还包括一个Windows服务/ EXE,它将轮询MSMSQ队列以获取新用户信息,并将它们保存到Asp.net身份数据库(由上面提到的Web项目使用)中.

所以我的问题是 - " 我们也可以在桌面应用程序中使用Asp.net Identity API吗? ".这个要求只会出现,因为必须创建用户的密码哈希,并且我使用的是.net框架提供的默认密码.因此,如果我在Asp.net身份数据库中创建新用户,那么我也需要在那里创建密码哈希.

有什么想法吗?

password-hash asp.net-mvc-5 asp.net-identity

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

TeamCity 中复选框参数的默认值

我正在 TeamCity 中构建 nuget,并希望在签入触发构建时将后缀“-pre”附加到版本号。当构建被手动触发时,我希望能够提供一个复选框,如果这个构建应该是预览版本或值得生产的。

我有一个这样创建的配置参数:

预发布配置参数

- 总是添加预

在这种情况下,我总是-pre添加到版本号,即使我手动触发构建并且不选中复选框。

如果我-pre从参数的默认值中删除该值 ,则复选框提示会按预期工作。但是当我通过签入触发我的构建时,系统没有给我-pre后缀,我最终得到了一个只能手动创建的生产版本。

有什么方法可以实现我需要的吗?

或者,我只想在构建的手动触发器上发布 nuget,并不真正关心预发布,但我似乎找不到任何方法来检查构建是手动触发还是通过签入触发.

teamcity teamcity-9.0

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

无法从Azure AD获取承载令牌以与API App一起使用

我有一个MVC应用程序需要访问Azure中受Azure AD身份验证保护的私有API应用程序.因此,我需要获取Azure AD不记名令牌,将其转移到Zumo-Auth令牌中并使用它来访问API应用程序.

我正在阅读本教程,一切正常,直到我需要请求令牌authContext.这是代码的片段:

var authContext = new AuthenticationContext(
    "https://login.microsoftonline.com/MyADDomain.onmicrosoft.com");

ClientCredential credential = new ClientCredential(
    "04472E33-2638-FAKE-GUID-F826AF4928DB", 
    "OMYAPIKEY1x3BLAHEMMEHEHEHEHEeYSOMETHINGRc=");

// Get the AAD token.
var appIdUri = 
    "https://MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/login/aad";

//var appIdUri = "https://MyADDomain.onmicrosoft.com/MyAppName";
//var appIdUri = "https://MyADDomain.onmicrosoft.com/";
//var appIdUri = "https://graph.windows.net";

AuthenticationResult result = 
    authContext.AcquireToken(appIdUri, credential); // <-- can't get the token from AD

// downhill from here
var aadToken = new JObject();
aadToken["access_token"] = result.AccessToken;
var appServiceClient = new AppServiceClient(
    "https://MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/");

// Send the AAD token …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-active-directory azure-api-apps azure-ad-graph-api

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

在针对LDAP进行身份验证时挂钩进入Windows身份验证以获取凭据

我有一个Web门户,供员工更新他们的详细信息.人们使用他们的Active Directory凭据登录,我设置OWIN cookie进行身份验证.这一切都是通过MVC登录页面完成的,与IIS上的Windows身份验证无关.

现在公司浏览器是Internet Explorer,并配置为自动登录到其他Windows身份验证站点,而不提示输入密码.当人们使用公司PC并登录他们的域帐户时,就会发生这种情况.如果他们在家工作,则基本身份验证提示会要求在这些系统上提供凭据.

现在,我希望在用户登录到他们的Windows域帐户,从工作PC登录时实现自动身份验证,如果他们在家工作,则会显示登录页面.

我知道401挑战和身份验证协商,但从未通过ASP.Net启动.我见过用户被重定向到IIS配置为Windows身份验证的页面的解决方案,但我希望在没有IIS配置的情况下完成此操作.此外,我记得有人提到了一个解决方案,其中加载了一个页面<iframe>,其中检查了基本身份验证,如果通过该身份验证成功,则将已经过身份验证的用户重定向到登录页面.

所以我的问题归结为:是否有办法在控制器的特定操作上启动(并完成)401基本身份验证挑战?然后挂钩到Controller.User.Identity属性来设置OWIN cookie?

UPD: 根据评论:我希望Kerberos(Windows身份验证)在用户位于域网络时工作,因此他们会自动登录.但是,当用户不在域网络上时,我不希望进行Windows身份验证,而是希望自定义登录页面包含密码重置和注册选项(给定员工验证).

authentication windows-authentication owin asp.net-mvc-5

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