ASP.NET Identity 外部身份验证提供程序自定义图标

2024-06-28

使用 SimpleMembership,您可以向外部身份验证提供程序按钮添加一个图标,如下所示:

简单会员制:

Dictionary<string, object> FacebooksocialData = new Dictionary<string, object>();
FacebooksocialData.Add("Icon", "/content/images/gui/loginFacebook.png");
OAuthWebSecurity.RegisterFacebookClient(
    appId: "x",
    appSecret: "x",
    displayName: "Facebook",
    extraData: FacebooksocialData);

然后在您的视图中像这样显示它们:

@foreach (AuthenticationClientData p in Model)
{
    <button class="externalLoginService" style="cursor:pointer;color:transparent;border:none;background:url(@p.ExtraData["Icon"]);width:94px;height:93px;margin-right:20px;" type="submit" name="provider" value="@p.AuthenticationClient.ProviderName" title="Log in with @p.DisplayName">@p.DisplayName</button>
}

ASP.NET 身份(?):

app.UseFacebookAuthentication(
   appId: "x",
   appSecret: "x");

如何使用 ASP.NET Identity(控制器和视图)实现同样的事情?


另一种方法:

摘取了这个博客中的一些内容(使用了 zocial 图标,但我发现这些图标太过分了 - 请参阅 css 文件,您就会知道我的意思):http://www.beabigrockstar.com/pretty-social-login-buttons-for-asp-net-mvc-5/ http://www.beabigrockstar.com/pretty-social-login-buttons-for-asp-net-mvc-5/

并这样做了:

Startup.Auth.cs(没有额外的东西,只是 MVC 5 应用程序中的标准默认内容)

app.UseFacebookAuthentication(appId: "x", appSecret: "x");
app.UseGoogleAuthentication();

CSS:

.socialLoginButton {
    cursor:pointer;color:transparent;border:none;width:94px;height:93px;margin-right:20px;
}

.socialLoginButton.facebook {
    background:url(/content/images/gui/loginFacebook.png);
}
.socialLoginButton.google {
    background:url(/content/images/gui/loginGoogle.png);
}

View:

<button type="submit" class="externalLoginService socialLoginButton @p.AuthenticationType.ToLower()" id="@p.AuthenticationType" name="provider" value="@p.AuthenticationType" title="Log in with @p.Caption">@p.AuthenticationType</button>

使用类而不是上面其他解决方案/答案中不太优雅的样式属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Identity 外部身份验证提供程序自定义图标 的相关文章

  • Response.Redirect() 重定向到子文件夹中的页面

    我正在使用一个Response Redirect login aspx 自从我搬家以来login aspx to my Account子文件夹中 我尝试了以下代码 但它不起作用 Response Redirect Account login
  • 调试时无法评估表达式

    当调试 asp net 代码 针对 IIS 运行并使用 Visual Studio 2013 并在断点中并尝试使用快速监视评估变量时 我经常遇到 无法评估表达式 的情况 从 asp net 项目文件夹中删除 suo 似乎可以解决问题 重新加
  • asp.net aspx 的标记验证

    我使用 asp net 创建了一个网站 在互联网上启动网站之前 我想对我使用的网络表单进行验证测试 我已经知道如何通过 W3C 标记验证服务来验证 HTML 静态网站 是否可以通过上传文件在 Webforms aspx 上执行相同的验证方法
  • Google OAuth 2 PHP 调用用户信息

    我正在尝试使用 Google 的 OAuth2 API 在他们的通用文档中 他们提到了一个名为 UserInfo 的调用 http code google com apis accounts docs OAuth2Login html us
  • 如何从CLASS(内部类)调用ASPX页面

    我想从类文件或类的内部函数调用或重定向 ASPX 页面 请帮助我或给出提示或 请编写从侧类或在侧类中调用或重定向 ASPX 页面的语句 您只需执行以下操作 HttpContext Current Response Redirect myPa
  • 更新到 ASP.NET Core 2.0 - 软件包与 netcoreapp2.0 不兼容

    我正在尝试更新到 NET Core 2 0 但在使用参考安装的所有软件包上都遇到这些错误 问题可能是 我正在参考netcoreapp1 0在输出中 Microsoft EntityFrameworkCore Tools DotNet 2 0
  • 解析通过asp:FileUpload上传的XML文件

    我有一个场景 用户将上传 XML 文件 我想将该文件添加到数据库中的表中 不过 困难的部分是我需要解析文件 然后将一些信息添加到一些不同的表中 显示如何获取 XML 文件的每个示例都使用 URI 来获取文件 但是如何直接从数据库获取文件 或
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • MVC 4 中集合和单个值之间内容协商的差异?

    我正在利用新的 MVC4 ApiController 来构建搜索界面 像这样的东西 public IEnumerable
  • 使用文本模式密码的文本框不显示文本 asp.net c#

    我的网络表单上有几个按钮 当用户单击它们时 他们将更新文本框 这一直有效 直到我添加了 textmode 密码 现在文本框不再显示文本 我调试了应用程序 文本属性正在获取值 但它再次没有显示 这是我尝试过的 protected void b
  • SQL Server 存储过程更新不适用于 ASP.Net C# GridView RowUpdating

    我遇到了问题 但没有抛出任何错误 发生的情况是 我有一个存储过程正在驱动我的更新 但我无法更新 gridview 我击中了Update链接按钮 但它实际上并没有更新记录 这是我的存储过程 ALTER PROCEDURE dbo CompDe
  • 如果用户多次登录,则使用不同的会话

    在我们的 ASP NET 项目中 我们有代码
  • ASP:Datagrid 中的 Eval 与 DataField

    我有一个非常随机的问题困扰着我 它在一天结束时有效 但问题需要一些时间才能弄清楚 并且想知道为什么会发生这种情况 因此如果有人对这个主题有所了解 我将非常感激 这是问题所在 我的数据网格上有以下两列
  • 提供的 URI 方案“https”无效;预期为“http”。参数名称:via

    我使用了下面没有 https 的配置 现在网址改为 https 但我越来越 提供的 URI 方案 https 无效 需要 http 参数名称 via 调用时出错
  • 频繁访问临时 ASP.NET 文件被拒绝

    从字面上看 每当我运行一个又大又丑的网站项目时 我都会收到一个 UnauthorizedAccessException 其中有一条消息指向 DLL 例如Temporary ASP NET Files ctheweb 0d76d363 469
  • 在 Angular 6 和 ASP.net 中启用 CORS

    我正在尝试从 Angular 6 应用程序向发送电子邮件的 API 发送 POST 请求 我用邮递员测试了该请求并且它有效 但是当我在 Angular 应用程序中执行 POST 请求时 我的控制台中出现错误 我在 Angular 应用程序中
  • 使用 Oauth 2 来自 Azure AD 的“不支持访问授予授权代码”

    我正处于一个授权码授予流程 http msdn microsoft com en us library azure dn645542 aspx使用 Azure AD 尽管文档说grant type应该authorization code 我
  • 可以更改 RadioButtonFor 的名称吗?

    我在视图中使用 foreach 循环来显示一些单选按钮行 sample radiobutton tr td width 30 Integrity td td width 17 Html RadioButtonFor x gt x main
  • GitHub Actions 中针对 Oauth 令牌的 Web 浏览器身份验证

    我正在尝试使用 GitHub Actions 通过 R 脚本使用 OAuth 2 0 令牌查询 GitHub API 当我运行代码时 它在我的本地计算机上运行良好 其中弹出一个浏览器窗口 指示 等待浏览器中的身份验证 我可以手动关闭该窗口
  • 如何将值传递到 C# 中的图像按钮单击事件中?

    尝试将一些值传递到图像按钮单击事件中 如下所示

随机推荐

  • 允许结构字段溢出到下一个字段

    考虑以下简单示例 struct attribute packed int code 1 int place holder 100 s void test int n int i for i 0 i lt n i s code i 1 for
  • 无法访问通过 jQuery ajax 发送的我的 Post 值

    EDIT 用 htaccess 删除 index php 会创建我刚刚发现的这个问题 现在我要着手解决它 EDIT 问题解决了 JavaScript 是错误的 url login 它需要一个尾部斜杠 ORIGINAL 在我的主页视图中 我创
  • Qt:如何制作二维插值颜色字段?

    我是 C 的初学者 尤其是与图形相关的 我想为我的图形视图制作一个动画背景 如下所示 梯度场气流 http www engineering leeds ac uk cfd research images untitled JPG 该图片表现
  • 在 Ruby 中生成正则表达式模式的字符串

    在Python语言中我发现rstr https bitbucket org leapfrogdevelopment rstr 可以生成一个字符串regex http en wikipedia org wiki Regular express
  • 如何解决转移/减少冲突?

    我正在使用 CUP 创建论文所需的解析器 我的语法中存在移位 归约冲突 我有这个生产规则 command IDENTIFIER IDENTIFIER LPAREN parlist RPAREN 我有这个警告 Warning Shift Re
  • 具有最大高度的 div 内的表格

    我想要一个可滚动的表格 为了实现这一点 我包装了一个 table into a div with a max height and overflow auto 除此之外 div has display inline block以确保 div
  • 在接收器上获取 Chromecast 发送器 URL

    Chromecast 接收者是否可以确定特定发送者的 URL 我可以获得发件人列表 const context cast framework CastReceiverContext getInstance context getSender
  • C++ win32 从资源加载字符串

    好吧 我最近决定将应用程序中的每个字符串放入 STRINGTABLE 中 这样我就可以轻松翻译成不同的语言 我知道如何使用 LoadString api 但这涉及我为要加载的每个字符串使用不同的变量 如果我的应用程序有 100 个字符串 那
  • 如何在颤动中设置容器的不透明度

    我想为包含十六进制颜色代码的容器设置不透明度 如何做呢 这是我当前的代码 final body Container width MediaQuery of context size width margin const EdgeInsets
  • 通过标记现有提交来触发 Jenkins 管道

    描述 我设置了 Jenkins 2 126 以便在推送新标签时构建管道 具体来说 我想将现有提交标记为master as release 3并让它触发构建 根据多个消息来源 我想要的是可能的 https mohamicorp atlassi
  • 在 java 中解析非常大的 XML 文档(以及更多)

    以下全部用Java编写 我必须构建一个应用程序 该应用程序将可能非常大的 XML 文档作为输入 该文档已加密 不是使用 XMLsec 而是使用我客户预先存在的加密算法 将分三个阶段进行处理 首先 将根据上述算法对流进行解密 其次 扩展类 由
  • PS3 上的 Mono 开发资源

    我一直在考虑冒险在我的 Playstation 3 上安装 Linux 由于 C 是我当前选择的语言 所以下一个合乎逻辑的步骤是安装 Mono 我做了一些研究发现http psubuntu com wiki InstallationInst
  • 合并两个 json 对象

    我有以下输入 2 个 json 文件 第一个是基本文件 第二个包含相同的属性但不同的值 我想合并这些对象 例如 a b asda c asdasd 第二个文件 a b d 结果应该是这样的 a b d c asdasd 用powershel
  • 正则表达式匹配句尾标记[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要匹配所有句末符号 例如 句点 等在给定的文本正文中 任何人都可以帮我解决正则表达式来做这样的事情吗 输入示例 This is t
  • 如何延迟从 ActiveMQ 在 Apache Camel 中消费消息

    我有一个要求 当客户端应用程序在 5 秒的时间范围内发送超过 1000 个请求时 我需要通过调整 排队 入站流量来进行限制 我遵循的解决方案是 我有一个camel throttle 将最大请求数设置为 1000 时间跨度设置为 5 秒 当超
  • C++:如何从 make_shared 部分推导模板参数

    为了规避对部分提供的显式模板参数的限制 https stackoverflow com questions 41833630 c17 class template partial deduction 我嵌入了要从中推导出类模板参数的结构 I
  • 反射的性能:JVM 中的高质量字节码

    Edit 2 是否有一个完全的程序object oriented实施能带来高性能吗 大部分的framework是用它的全部力量写的 然而 reflection也被大量用于实现它 例如AOP and dependency injection
  • Laravel - 在一个方法中返回多个值

    这是我目前陷入困境的地方 我正在执行多种方法 对同一个表进行不同的查询 public function totalOfA return a Stocks where user id this gt employee gt id gt whe
  • Javascript的removeChild()和appendChild() VS display=none和display=block|inline

    我正在开发一个 Web 应用程序 动态显示一些控件和描述 我不想使用 jQuery 或其他库 此时我使用以下方法使控件出现和消失 element setAttribute style display inline and element s
  • ASP.NET Identity 外部身份验证提供程序自定义图标

    使用 SimpleMembership 您可以向外部身份验证提供程序按钮添加一个图标 如下所示 简单会员制 Dictionary