You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[CascadingParameter]privateTask<AuthenticationState> authenticationState {get;set;}protectedoverrideasync Task OnInitializedAsync(){varauthState=await authenticationState;varuser= authState.User;if(user.Identity.IsAuthenticated){
Console.WriteLine($"Bem-Vindo, {user.Identity.Name}!");if(user.IsInRole("Admin")){
Console.WriteLine($"Você faz parte do grupo Admin!");}}else{
Console.WriteLine($"Usuário não autorizado!");}}
@code {[Parameter]publicint paginaAtual {get;set;}=1;[Parameter]publicint QuantidadeTotalPaginas {get;set;}[Parameter]publicint Raio {get;set;}=3;[Parameter]publicEventCallback<int> PaginaSelecionada {get;set;}
List<LinkModel> links;privateasync Task PaginaSelecionadaLink(LinkModellink){if(link.Page ==paginaAtual){return;}if(!link.Enabled){return;}paginaAtual= link.Page;await PaginaSelecionada.InvokeAsync(link.Page);}classLinkModel{publicLinkModel(intpage): this(page,true){}publicLinkModel(intpage,boolenabled): this(page, enabled, page.ToString()){}publicLinkModel(intpage,boolenabled,stringtext){Page=page;Enabled=enabled;Text=text;}publicstringText{get;set;}publicintPage{get;set;}publicboolEnabled{get;set;}=true;publicboolActive{get;set;}=false;}protectedoverridevoid OnParametersSet(){
CarregaPaginas();}privatevoid CarregaPaginas(){
links =newList<LinkModel>();//tratar o link da pagina anteriorvarisLinkPaginaAnteriorHabilitado=paginaAtual!=1;varpaginaAnterior=paginaAtual-1;
links.Add(new LinkModel(paginaAnterior, isLinkPaginaAnteriorHabilitado,"Anterior"));//trata os links das paginas especificasfor(inti=1;i<= QuantidadeTotalPaginas;i++){if(i >= paginaAtual-Raio&&i <= paginaAtual+Raio){
links.Add(new LinkModel(i){Active=paginaAtual==i});}}//trata o link para a proxima paginavarisLinkProximaPaginaHabilitado=paginaAtual!=QuantidadeTotalPaginas;varproximaPagina=paginaAtual+1;
links.Add(new LinkModel(proximaPagina, isLinkProximaPaginaHabilitado,"Próximo"));}}
DemoAuthStateProvider
publicclassDemoAuthStateProvider:AuthenticationStateProvider{publicasyncoverrideTask<AuthenticationState>GetAuthenticationStateAsync(){await Task.Delay(4000);//indicamos se o usuário esta autenticado e também os seus claimsvarusuario=new ClaimsIdentity();returnawait Task.FromResult(new AuthenticationState(new ClaimsPrincipal(usuario)));}}