我正在制作自定义# test data
df = pd.DataFrame(
[(1, 'Josh', 10000), (2, 'Michael', 5000), (3, 'Sara', 8000)],
columns=['id', 'name', 'salary'])
#
crsr = cnxn.cursor()
crsr.fast_executemany = True
sql = "INSERT INTO Table_1 (id) VALUES (?)"
# extract column and convert to list of single-value tuples
data = [(x,) for x in df['id']]
crsr.executemany(sql, data)
cnxn.commit()
以在Blazor应用程序中进行测试。我担心新类不会具有与AuthenticationStateProvider类相同的功能,因为我不确定AuthenticationStateProvider的工作方式。在下面,我发布了自定义类。您能告诉我这是否是覆盖此类的可接受方法吗?
AuthenticationStateProvider
答案 0 :(得分:1)
blazor如何检测授权/未授权
这是constructors for ClaimsIdentity之一:
public ClaimsIdentity (
System.Collections.Generic.IEnumerable<System.Security.Claims.Claim> claims,
string authenticationType);
对于set as authenticated,只需将值发送到authenticationType
,并引用文档:
IsAuthenticated 注意:访问时,将基于AuthenticationType属性的值返回IsAuthenticated属性的值。
AuthorizeView component要求IsAuthenticated
。
从CustomAuthStateProvider
sample看以下代码:
var identity = new ClaimsIdentity(new[]
{
new Claim(ClaimTypes.Name, "mrfibuli"),
}, "Fake authentication type");
对于先前的示例, IsAuthenticated
将为真,因为ClaimsIdentity
构造函数的"Fake authentication type"
参数具有authenticationType
。
总结
如果您创建的身份包括 authenticationType
参数,则表明用户已通过身份验证。如果您创建身份而没有 authenticationType
参数,则不会对用户进行身份验证。
var userService = RequestMyUserService(user, password);
var identity = userService.IsValidUser
? new ClaimsIdentity(
new[] {new Claim(ClaimTypes.Name, "mrfibuli"),},
"My Custom User Service") // authenticated
: new ClaimsIdentity(); // not authenticated
...
有关{.3的ASP.NET Core身份验证简介,请参见Claims-based authentication。