master |
develop |
|
|---|---|---|
| Windows | ||
| Linux / OS X |
Emuses is simple session manager for .net core.
Emuses is available as a NuGet package. You can install it using the NuGet Package Console window:
PM> Install-Package Emuses
See our sample project (Emuses.Example) or use the instructions below.
Database configuration:
CREATE USER emuses WITH LOGIN;
ALTER USER emuses WITH PASSWORD 'emuses';
CREATE DATABASE emuses WITH OWNER = emuses ENCODING = 'UTF8' TABLESPACE = pg_default CONNECTION LIMIT = -1;CREATE TABLE public.sessions
(
session_id character varying(50) NOT NULL,
expiration_date timestamp without time zone NOT NULL,
version character varying(50) NOT NULL,
session_timeout integer NOT NULL
) WITH (OIDS = FALSE) TABLESPACE pg_default;
ALTER TABLE public.sessions OWNER to emuses;Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton<IHostedService, SessionClearTask>();
services.AddScoped<ISessionStorage>(storage => new PostgresStorage("Host=127.0.0.1;Username=emuses;Password=emuses;Database=emuses"));
services.AddMvc();
...
} public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
app.UseEmuses(options =>
{
options.OpenSessionPage = "/Account/Login";
options.SessionExpiredPage = "/Account/Expired";
options.NoSessionAccessPages = new List<string> {"/Account/Login", "Account/Logout"};
options.Storage = new PostgresStorage("Host=127.0.0.1;Username=emuses;Password=emuses;Database=emuses");
});
app.UseMvc(routes => ...
...
}Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton<IHostedService, SessionClearTask>();
services.AddScoped<ISessionStorage>(storage => new FileStorage(@"C:\Temp\Emuses\"));
services.AddMvc();
...
} public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
app.UseEmuses(options =>
{
options.OpenSessionPage = "/Account/Login";
options.SessionExpiredPage = "/Account/Expired";
options.NoSessionAccessPages = new List<string> {"/Account/Login", "Account/Logout"};
options.Storage = new FileStorage(@"C:\Temp\Emuses\");
});
app.UseMvc(routes => ...
...
}PM> Install-Package Emuses.Dashboard