Link
- Linux i principali comandi nella shell (Sem’s Harwdware)
Quando accendete il vostro computer vi trovate in genere di fronte a Windows. Windows è il programma principale del computer, senza il quale il computer sarebbe una scatola vuota. Viene chiamato Sistema Operativo. Dentro a Windows avete decine di altri programmi che usate quotidianamente.
L’hardware del vostro computer (l’hard disk, la ram, il processore, etc) sono stati costruiti per ospitare un solo sistema operativo. In pratica è come comprare un motorino che quindi può trasportare solo voi. Il motorino è il computer …. voi rappresentate windows.
I server sono grossi computer, molto potenti. Fino a qualche anno fa venivano venduti anche’essi con un sistema operativo, di solito Windows Server o Linux Server. I server eseguono diverse applicazioni molto importanti , rendendole fruibili ai client cioè ai vostri computer. Per esempio, i server ospitano i siti internet a cui vi collegate; dentro ogni server ci sono migliaia di siti internet diversi a cui si collegano milioni di utenti (Voi). Oppure ospitano tutti i file di una azienda : i file della produzione, della progettazione, della amministrazione : tutti i vari reparti aziendali trovano nel server il materiale con cui lavorare.
Per una azienda quindi il server è il computer più importante: se si rompe questo non lavora più nessuno fintanto che non viene riparato. Se si rompe un server che ospita siti internet, tutti i siti saranno irraggiungibili.
Per ovviare a queste problematiche si è pensato di dividere il carico di lavoro dei server : ogni server ospita un solo sito internet; esiste un server per i files del reparto amministrazione e un server per la progettazione, etc. Se si rompe un server, solo il servizio che stava dando verrà a mancare: le altre funzioni risultano attive sugli altri server.
Per ottenere tutto ciò ci è venuto in aiuto un miglioramento delle tecnologie hardware e il concetto di virtualizzazione.
Oggi i server sono computer ancora più potenti rispetto al passato ed alle risorse richieste dalle applicazioni moderne. I server oggi vengono venduti senza sistema operativo : per continuare nel nostro parallelismo è come comprare un camion vuoto.
I server sono così potenti che possono tenere al loro interno decine di sistemi operativi diversi cioè di macchine che fanno azioni diverse: ognuna di queste macchine viene chiamata “macchina virtuale”. Si realizza così una netta separazione tra ambienti : ogni macchina svolge una sola funzione ben definita e “mancando” la macchina viene meno una sola funzione.
I problemi arrivano solo se …. si rompe il camion, ma anche qui ci sono delle tecniche per mitigare i disagi.
if, during installation of Sql Server 2008 you have this error : Performance counter registry hive consistency check failed
Open a command prompt with administrator user rights (Run as Administrator)
cd c;/windows/system32
lodctr /R:PerfStringBackup.INI
Restart the system and try again to install sqlserver
Open a command prompt with administrator user rights (Run as Administrator). Lunch install without that feature
C:\MyFolder\SQLEXPR_x86.exe /ACTION=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
Se avete montato un antivirus sul vostro computer non siete al sicuro.La minaccia dei virus non si combatte solo con l’antivirus. L’antivirus, semplificando, è un contenitore di tutti i virus scoperti nel mondo fino ad oggi; l’antivirus controlla i vostri file confrontandoli con il suo contenitore : quando vede che il file corrisponde ad uno di quelli immagazzinati vi segnala e blocca la minaccia.
E’ quindi chiaro che l’antivirus è efficace solo se trova un virus che era già stato segnalato da qualcun altro nel mondo. Non può fare niente per le nuove scoperte.
Ci sono inoltre dei virus che non si manifestano come tali se non dopo che l’utente, Voi, li avete attivati. Sono tutti quei virus che vi arrivano come allegati nelle email e che passano quindi la scansione dell’antivirus. Quando ci cliccate sopra, state lanciando un programma: il computer non può autonomamente decidere che quel programma, lanciato da voi, sia un programma malevolo; siete voi che comandate e quindi siete voi che infettate.
Come vedete, tra i consigli, non abbiamo citato l’antivirus….. ma male non può certo fare.
Ricorda che :
Nella “Token based authentication”, l’applicazione client invia prima una richiesta all’endpoint del server di autenticazione con le credenziali dell’utente; se il nome utente e la password sono corretti, il server di autenticazione invia un token al client come risposta. Questo token contiene dati sufficienti per identificare un determinato utente e un tempo di scadenza. L’applicazione client utilizza quindi il token per accedere alle risorse nelle richieste successive fino a quando il token risulta ancora valido (non scaduto).
Aggiungete una classe come questa :
using Microsoft.Owin.Security.OAuth;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity.Owin;
namespace Mysite.Helpers
{
public class MysiteAuthorizationServerProvider : OAuthAuthorizationServerProvider
{
public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
{
context.Validated(); //
}
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
var userManager = context.OwinContext.GetUserManager<ApplicationUserManager>();
var user = await userManager.FindAsync(context.UserName, context.Password);
if (user == null)
{
context.SetError("invalid_grant", "The user name or password is incorrect.");
return;
}
ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager,
OAuthDefaults.AuthenticationType);
context.Validated(oAuthIdentity);
}
}
}
Per attivare questa classe andate nel file App_Start/Startup.Auth.cs e aggiungete alla fine del metodo ConfigureAuth questo codice
var myProvider = new MysiteAuthorizationServerProvider();
OAuthAuthorizationServerOptions options = new OAuthAuthorizationServerOptions
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = myProvider
};
app.UseOAuthAuthorizationServer(options);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
In cui si definisce il link http://mysite/token che restituisce un token di durata 1 giorno.
Dovrete aggiungere nel file il riferimento
using Microsoft.Owin.Security.OAuth;
E’ necessario aggiungere un metodo all’autenticazione. Andate nel file IdentityModel.cs e aggiungete questo metodo :
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager,
string authenticationType)
{
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
return userIdentity;
}
Per testare il tutto facilmente potete usare Postman .
Dovrete creare con Postman una chiamata post sul vostro link http://mysite/token. Nell’headers inserite la dicitura che vedete in figura :
Nel Body inserite il tipo di autneticazione (password) il vostro username e la vostra password.
Spingete “Send”. Se tutto ha funzionato riceverete il token
Una volta che il client ha ricevuto il token lo può utilizzare per tutte le successive operazioni senza dover passare lo username e la password: va passato solo il token che contiene queste informazioni. Facciamo una prova, creando un metodo che richiede autenticazione all’interno di un controller :
using System;
using System.Web.Http;
namespace MySite.Controllers
{
public class SampleController : ApiController
{
[Authorize]
[HttpGet]
public IHttpActionResult GetForAuthenticate()
{
var identity = (ClaimsIdentity)User.Identity;
return Ok("Hello " + identity.Name);
}
}
}
Usando postman, fate una chiamata GET al link : http://MySite/api/Sample/GetForAuhenticate
Dovrete passare al link il token che avete ottenuto qualche istante prima (nel nostro esempio è valido per 1 giorno). Per farlo in postman aggiungete la chiave Authorization con valore la parola Bearer seguita dal token.
THE END
Use NuGet Package Manager to install the Web API Client Libraries package :
Add App_Start\WebApiConfig.cs
using System.Web.Http;
class WebApiConfig
{
public static void Register(HttpConfiguration configuration)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
If you added a new WebApiConfig.cs file, you need to register that on your Web Application’s main configuration class.
Import namespace System.Web.Http in Global.asax.cs.
Add this line before the registration of your classic routing
//api routing (before)
GlobalConfiguration.Configure(WebApiConfig.Register);
//existing normal route
RouteConfig.RegisterRoutes(RouteTable.Routes);
Create a new controller
using System;
using System.Web.Http;
namespace MySite.Controllers
{
public class SampleController : ApiController
{
[HttpGet]
public String Test()
{
return "Hello World!";
}
}
}
Based on the api routing you should call this method in your browser using
http://MySite/api/Sample/Test
with this result
<string xmlns=”http://schemas.microsoft.com/2003/10/Serialization/”>Hello World!</string>
Da mercoledì 5 Febbraio 2020 ci sono dei problemi nella ricerca di windows, lo spazio sulla barra in basso a sinistra in cui cercate i programmi: quando andate in ricerca la finestra dei risultati vi compare totalmente nera.
La ricerca di Windows cerca, in base a ciò che scrivete, i programmi installati sul vostro computer, i vostri file e tutto quello disponibile in rete attraverso il motore di ricerca Microsoft Bing. E’ proprio in Bing che risiede il problema che causa la schermata nera in ricerca.
Per risolvere dovete portare delle modifiche nel registro di Windows , cioè nel programma in cui sono conservate tutte le informazioni e impostazioni del vostro computer : fate questa operazione con molta calma perché potreste compromettere l’intero sistema in caso di errore.
In order to use Microsofoft Azure Storage from PowerShell you need to Install the Azure PowerShell module.
Open power shell as Administrator.
Azure PowerShell requires PowerShell version 5.0. To check the version of PowerShell running on your machine, run the following command:
$PSVersionTable.PSVersion
Run the following command in an elevated session
Install-Module -Name AzureRM -AllowClobber