如何在default.aspx中的html中使用Windows身份验证

麦克风

我有2个菜单,一个是为普通用户设置的,另一个是为Admin用户设置的。我想检查谁已登录(基于他们的AD登录到他们的计算机),然后显示到适当的菜单。

我正在一个网站上。我的主页现在很普通,但是我正在尝试进行身份验证,以便可以向内部用户开放该网站,并将管理员部分留给管理员。到目前为止,我所获得的并不多。这是web.config:

    <system.web>
        <authentication mode="Windows" />
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>

这是default.aspx:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Frontier Reports</title>
        <link rel="StyleSheet" href="stylesheet.css" type="text/css">
        <script>

            var resize = setInterval(function () { chng_iframe_height('MainPageFrame', 'header', 'footer') }, 500);

            function chng_iframe_height(ifrid, hid, fid)
            {

                var eheight = window.innerHeight;
                var ifrobj = document.getElementById(ifrid);
                var header = document.getElementById(hid);
                var footer = document.getElementById(fid);
                var header_height = getComputedStyle(header).height;
                var footer_height = getComputedStyle(footer).height;

                var reserved_height = parseInt(header_height) + parseInt(footer_height);
                var reserved_height = reserved_height + 65;

                ifrobj.style.height = eheight - reserved_height + "px";

            }
        </script>
    </head>
    <body onload="chng_iframe_height('MainPageFrame','header','footer');">
        <!-- #include file="MenuCheck.aspx"-->
        <div id="header">
            <div class="wrap">
                <div class="logo">
                    <h1></h1>
                </div>
            </div>
        </div>
        <iframe src="MainPage.aspx" name="MainPage" id="MainPageFrame" FrameBorder=0>
            This will show up if Chrome doesn't understand IFrame.
        </iframe>
        <div id="footer">
        <asp:LoginName ID="LoginName1" FormatString="{0}" runat="server" />
            <div class="wrap">
                <h2></h2>
            </div>
        </div>
    </body>
</html>

如您所见,我没有太多。我尝试使用ascript来获取用户名,但没有用。我还查看了其他几个答案,试图找到对我有用的东西。我遇到的最大问题是我无法访问服务器本身。我所拥有的就是上面显示的内容,它可以正常工作。我可以在屏幕上显示我的用户名,但是我不知道如何在某个if else地方使用该用户名,以便更改菜单。

我已经检查了以下内容:

如何获得正在访问ASP.net应用程序的当前用户?

未启用Windows身份验证的情况下填充HttpContext.Current.User

在ASP.NET中使用Windows身份验证

如何检查用户是否已登录

食谱:在Intranet ASP.NET Web应用程序中启用Windows身份验证

编辑

我得到这个工作:

<% if(1 == 1) {%>
<!-- #include file="AdminMenu.php"-->
<% } else {%>
<!-- #include file="Menu.php"-->
<% } %>

如果我尝试将其更改为if(User.Identity.GetUserID() == "CORP\\mmm976")或,if(User.Identity.Name == "CORP\\mmm976")则会出现服务器错误。

我添加了此内容<%using Microsoft.AspNet.Identity%>以尝试GetUserID()使其正常工作。仍然服务器错误。

最终编辑

现在可以使用了!

我更改了Default.aspx页中的包含以拉入另一个.aspx页。这样,我就可以只有用于检查用户并根据用户登录名显示正确菜单的代码。这是MenuCheck.aspx:

<%@ Page Language="C#" %>

<% if (User.Identity.Name == @"corp\mmm976") {%>
<!-- #include file="AdminMenu.php"-->
<% } else {%>
<!-- #include file="Menu.php"-->
<% } %>
用户名

通常,身份验证是开箱即用的,现在您需要了解有关授权的更多信息始终建议使用基于角色的方法,因为它更安全,更方便。这意味着您的管理员应属于某个管理员组,该管理员组可用于让他们访问管理员区域。对于快速而肮脏的方法,您可以考虑类似

<% if (User.Identity.GetUserID() == "domain\\user") { %>
<!-- #include file="AdminMenu.php"-->
<% } %>

其中domain \ user(\\编码)是您的管理员ID。

请注意,所有这些都必须以aspx(而不是html)进行编码,并且不需要表单身份验证(这与Windows身份验证不同)。

同样,所有这些都可以通过另一种方式完成,例如,您可以创建一个专用的/ admin子目录,该子目录可能具有受限的访问权限(也可以仅在服务器上配置它,而无需使用asp.net)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Identity Server 3中使用Windows身份验证?

来自分类Dev

如何在带有Servicestack的.NET Core中使用Windows身份验证登录

来自分类Dev

如何在NGRX中使用身份验证防护

来自分类Dev

如何在Okta中使用Firebase身份验证?

来自分类Dev

如何在基本身份验证中使用RestTemplate

来自分类Dev

如何在DataZen中使用标头身份验证?

来自分类Dev

如何在Django REST Framework中使用身份验证

来自分类Dev

如何在Laravel 5.2中使用多重身份验证

来自分类Dev

如何在Rails 4中使用Omniauth-facebook对用户进行身份验证

来自分类Dev

如何在 Laravel 5 中使用 Codeception 在单元测试中模拟身份验证用户?

来自分类Dev

如何在Windows身份验证中传递默认凭据

来自分类Dev

使用用户实体进行身份验证时如何在Symfony 4中使用独立的基本身份验证

来自分类Dev

如何将DevForce配置为在SL App中使用Windows身份验证

来自分类Dev

在.NET 4.5中混合使用Windows和Forms身份验证:如何在创建表单身份验证票证之后保持Request.IsAuthenticated = false?

来自分类Dev

在IIS HTTP PlatformHandler前面使用Windows身份验证时,如何在Python中获取经过身份验证的用户名?

来自分类Dev

如何在 OWIN 应用程序中使用 cookie 身份验证和 WsFederation 身份验证

来自分类Dev

如何在Angular 8中使用angular-oauth2-oidc实现身份验证代码流

来自分类Dev

如何在Symfony2中使用非标准用户名进行身份验证

来自分类Dev

如何在ASP.NET MVC 4中使用SimpleMembershipProvider拒绝所有通过身份验证的用户访问

来自分类Dev

如何在Amazon PHP SDK v3中使用v2身份验证标头?

来自分类Dev

在MongoDB中使用cloneCollection:如何进行身份验证?

来自分类Dev

如何将Windows身份验证从“ .aspx”页传递到“ .ashx”处理程序

来自分类Dev

如何为Windows身份验证为Sharepoint2019创建Custom.aspx

来自分类Dev

如何将Windows身份验证从“ .aspx”页面传递到“ .ashx”处理程序

来自分类Dev

如何对数据库中的用户使用Windows身份验证

来自分类Dev

如何使用Windows身份验证代替存储/传递密码?

来自分类Dev

在.NET 4.5中混合使用Windows和Forms身份验证:在创建表单身份验证票证之前,如何保持Request.IsAuthenticated = false?

来自分类Dev

如何在Kubernetes的HTTP活动探针中使用基本身份验证?

来自分类Dev

如何在Spring Security中使用LDAP身份验证创建令牌

Related 相关文章

  1. 1

    如何在Identity Server 3中使用Windows身份验证?

  2. 2

    如何在带有Servicestack的.NET Core中使用Windows身份验证登录

  3. 3

    如何在NGRX中使用身份验证防护

  4. 4

    如何在Okta中使用Firebase身份验证?

  5. 5

    如何在基本身份验证中使用RestTemplate

  6. 6

    如何在DataZen中使用标头身份验证?

  7. 7

    如何在Django REST Framework中使用身份验证

  8. 8

    如何在Laravel 5.2中使用多重身份验证

  9. 9

    如何在Rails 4中使用Omniauth-facebook对用户进行身份验证

  10. 10

    如何在 Laravel 5 中使用 Codeception 在单元测试中模拟身份验证用户?

  11. 11

    如何在Windows身份验证中传递默认凭据

  12. 12

    使用用户实体进行身份验证时如何在Symfony 4中使用独立的基本身份验证

  13. 13

    如何将DevForce配置为在SL App中使用Windows身份验证

  14. 14

    在.NET 4.5中混合使用Windows和Forms身份验证:如何在创建表单身份验证票证之后保持Request.IsAuthenticated = false?

  15. 15

    在IIS HTTP PlatformHandler前面使用Windows身份验证时,如何在Python中获取经过身份验证的用户名?

  16. 16

    如何在 OWIN 应用程序中使用 cookie 身份验证和 WsFederation 身份验证

  17. 17

    如何在Angular 8中使用angular-oauth2-oidc实现身份验证代码流

  18. 18

    如何在Symfony2中使用非标准用户名进行身份验证

  19. 19

    如何在ASP.NET MVC 4中使用SimpleMembershipProvider拒绝所有通过身份验证的用户访问

  20. 20

    如何在Amazon PHP SDK v3中使用v2身份验证标头?

  21. 21

    在MongoDB中使用cloneCollection:如何进行身份验证?

  22. 22

    如何将Windows身份验证从“ .aspx”页传递到“ .ashx”处理程序

  23. 23

    如何为Windows身份验证为Sharepoint2019创建Custom.aspx

  24. 24

    如何将Windows身份验证从“ .aspx”页面传递到“ .ashx”处理程序

  25. 25

    如何对数据库中的用户使用Windows身份验证

  26. 26

    如何使用Windows身份验证代替存储/传递密码?

  27. 27

    在.NET 4.5中混合使用Windows和Forms身份验证:在创建表单身份验证票证之前,如何保持Request.IsAuthenticated = false?

  28. 28

    如何在Kubernetes的HTTP活动探针中使用基本身份验证?

  29. 29

    如何在Spring Security中使用LDAP身份验证创建令牌

热门标签

归档