我有一些问题:
如何制作基于角色的Web应用程序?比如在论坛网站中,有很多用户类型,管理员,主持人等...这些用户类型的角色是存储在数据库还是web.config中?当用户登录我们的网站时,如何控制这个用户角色?总之,我想了解授权和身份验证.
谢谢..
我试图在未登录时拒绝访问文件夹或资源(防止泄漏).在文件夹中,我有我的
Web.config :(/Media)
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
<allow users="*" />
</authorization>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我打电话的代码:
指数:
@Video.MediaPlayer(
path: "~/Media/Tree Felling2.wmv",
width: "600",
height: "400",
autoStart: false,
playCount: 1,
uiMode: "full",
stretchToFit: true,
enableContextMenu: true,
mute: false,
volume: 75)
@Video.Flash(path: "~/Media/sample.swf",
width: "80%",
//height: "600",
play: true,
loop: false,
menu: true,
bgColor: "red",
quality: "medium",
//scale: "showall",
windowMode: "transparent")
Run Code Online (Sandbox Code Playgroud)
注销时:不显示闪存.媒体播放器不会连接到媒体.(预期)
登录后:显示 flash.但媒体播放器仍然无法连接到媒体.
我哪里错了?..
我正在传递用户名,API调用的密码返回正确的值。但是在身份验证API返回安全令牌后,我需要捕获令牌并传递用户名和密码。我在下面传递标头值的代码
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:[self HTTPMethod]];
[request setHTTPBody:self.requestData];
[request addValue:@"xyz" forHTTPHeaderField:@"username"];
[request addValue:@"xyz" forHTTPHeaderField:@"password"];
[request addValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"Auth"] forHTTPHeaderField:@"Authorization"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
Run Code Online (Sandbox Code Playgroud)
我搜索了标头方法,但没有任何帮助。我在这里做错了什么。请任何人帮助我修复它。谢谢。
[HttpPost("xxxxxxxxxx")]
[Authorize(Roles = "xxxxxxxxx")]
public IActionResult Post([FromBody]xxxxxxx xxxxxxxxxxxxxx)
{
if (s == null)
{
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码是属性Authorize(Roles ="Director")。我的申请角色是学生、总监、经理。这个特定的方法只能由主管访问,并且对于上述方法它给我返回 401 未经授权。
export function xxxxxxxxxxxx(token, formValues) {
return axios.post(`${ROOT_URL}/xxxxxxx/xxxxxxxx`, formValues);
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定如何通过 axios 调用在标头中发送不记名令牌。
我希望为AWS Lambda/zappa使用一些"无服务器api服务器",它使用自定义API网关授权程序进行用户身份验证.在无服务器的AWS lambda服务中,使用自定义授权器而不是直接在代码控制器中检查已发布的JWT令牌是否具有相当大的安全性或成本优势?对我来说,检查代码可能更方便.
更新我去了pre请求钩子,但是有头级别的授权器,它更容易用于CORS,但我认为zappa不支持它.也可以通过swagger上传为Options设置模拟API,如果成功则会更新.
我必须在我的项目中使用第三方授权服务器实施 OAuth 2.0。我的客户端和服务器都已经在AS上注册了。我已在 Azure 上创建了一个 API 管理实例并导入了 swagger API。我希望每个传入请求都针对我的 AS 进行验证,因此我只需将请求重定向到https://my-as.com/as/introspect.oauth2,并验证令牌。如果令牌有效,则让它继续,否则发送 401。我试图使用“入站处理”来实现此目的,并参考以下文档: https: //learn.microsoft.com/en-us/azure/api-管理/api-management-howto-protect-backend-with-aad#configure-a-jwt-validation-policy-to-pre-authorize-requests。
唯一的问题是我使用的是第三方 AS,而不是 Azure AD。我尝试用我的 URL 替换示例 XML 代码中的 URL,但它不起作用。
如何将请求重定向到授权服务器以验证访问令牌?
authorization azure oauth-2.0 azure-active-directory azure-api-management
有没有办法使用rest admin api获取给定部分url的资源ID?
下面是我调用的端点 - http://localhost:8180/auth/realms/quickstart-serv-springboot/authz/protection/resource_set?uri=/wb/customer来获取资源 ID。
我想知道是否可以在uri的查询字符串中传递通配符,以便它返回资源ID。例如 -http://localhost:8180/auth/realms/quickstart-serv-springboot/authz/protection/resource_set?uri=/wb/customer/*或http://localhost:8180/auth/realms/quickstart-serv-springboot/authz/protection/resource_set?uri=/wb/cust*提供一个正则表达式模式来获取匹配的资源 ID。
谢谢
我正在尝试使用 SonarQube 7.9.1 CE Web API 从 Java Spring Boot 应用程序中的服务器检索一些信息,我从一个非常简单的信息开始:项目列表。
事实证明,我需要通过令牌或用户/密码组合提供我的身份信息。但官方文档和 StackOverflow 答案仅显示 CURL 请求作为示例:
curl -u admin:admin http://localhost:9000/api/components/search_projects
curl -u 9548utj958tju5498jt934: http://localhost:9000/api/components/search_projects
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用RestTemplate发送请求,但总是收到 401 UNAUTHORIZED 错误。
我应该如何发送用户令牌?在请求标头中?作为请求参数的一部分?没有人说。
我尝试使用Bearer 9548utj958tju5498jt934、Basic 9548utj958tju5498jt934通过Authorization标头来完成此操作,在请求中插入参数,但没有任何效果。
谢谢。
我正在编写一个 Blazor 服务器端应用程序,并在项目中启用了 Windows 身份验证。
我无法使用基于角色/策略的身份验证(我无权更改用户角色/策略),而是从 SQL 数据库中获取一组用户名来检查当前用户的哪些部分他们可以访问导航菜单。
我正在努力让所有组件都可以使用 Windows 用户名,并且可以从 @code 部分进行访问。
我在 App.razor 中看到他们使用 CascadingAuthenticationState 组件和 AuthoriseView 组件
我知道您可以使用 @context.User.Identity.Name 来显示用户名,但我不确定如何从 @code 部分中访问 @context 来获取用户名。
我也尝试过此代码并在成功显示用户名的应用程序中:
[CascadingParameter]
private Task<AuthenticationState> authenticationStateTask { get; set; }
private string _authMessage;
private async Task LogUsername()
{
var authState = await authenticationStateTask;
var user = authState.User;
if (user.Identity.IsAuthenticated)
{
_authMessage = $"{user.Identity.Name} is authenticated.";
}
else
{
_authMessage = "The user is NOT authenticated.";
}
}
Run Code Online (Sandbox Code Playgroud)
但我不喜欢在每个组件中重复类似异步代码的想法。
我的简单想法是创建一个“AuthorizationService”类并将其注册为单例。当页面首次加载时,这将从 SQL 中获取用户名集和当前用户,并且检查逻辑可以存在于其中。
我将它注入到每个组件中,对于 NavMenu,我可以使用 if …
如何在mvc中启用角色?我的代码在下面给出,我不知道如何创建角色,我想将其添加到数据库..
[AttributeUsage(AttributeTargets.All)]
public class UserRightAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//write your user right logic
//if user has right to do nothig otherwise redirect to error page.
string message = "It seems You are not authorize to view this part of the web site!!!.";
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("area", "");
redirectTargetDictionary.Add("action", "SaveData");
redirectTargetDictionary.Add("controller", "Home");
redirectTargetDictionary.Add("customMessage", message);
filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary);
}
}
Run Code Online (Sandbox Code Playgroud) c# authentication model-view-controller asp.net-mvc authorization
authorization ×10
api ×2
asp.net ×2
asp.net-mvc ×2
aws-lambda ×1
azure ×1
bearer-token ×1
blazor ×1
c# ×1
http-headers ×1
ios9.1 ×1
java ×1
keycloak ×1
media ×1
nsurlrequest ×1
oauth-2.0 ×1
objective-c ×1
reactjs ×1
redux ×1
rest ×1
sonarqube ×1
token ×1