Skip to content

Commit 09dedd9

Browse files
committed
Added Wep Api OwinSelfHos
1 parent d77710d commit 09dedd9

File tree

538 files changed

+945238
-35
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

538 files changed

+945238
-35
lines changed
378 KB
Binary file not shown.

OnlineStoreWebApi/.vs/OnlineStore/v15/Server/sqlite3/db.lock

Whitespace-only changes.
Binary file not shown.

OnlineStoreWebApi/.vs/config/applicationhost.config

+1,020
Large diffs are not rendered by default.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

OnlineStoreWebApi/OnlineStore.Business/bin/Debug/OnlineStore.Business.pssym

+27-27
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,93 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Symbols LinesOfCode="95" PostSharpLinesOfCode="0" xmlns="http://schemas.postsharp.org/2.0/symbols">
33
<Class Class="#1=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.AuthorizationAspects.AuthorizationAspect">
4-
<Instance Declaration="#2=M:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService::Add(OnlineStore.Entity.Concrete.Category)" Id="ea6671690583bb56">
4+
<Instance Declaration="#2=M:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService::Add(OnlineStore.Entity.Concrete.Category)" Id="ea667169c31b5bb3">
55
<Target>
66
<JoinPoint Advising="#1" Description="#3=Wrapped by advice(s) OnEntry, OnSuccess, OnException, OnExit" Ordinal="4" />
77
</Target>
88
</Instance>
9-
<Instance Declaration="#4=M:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService::Delete(OnlineStore.Entity.Concrete.Category)" Id="ea667169252d45ca">
9+
<Instance Declaration="#4=M:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService::Delete(OnlineStore.Entity.Concrete.Category)" Id="ea667169f60690cc">
1010
<Target>
1111
<JoinPoint Advising="#1" Description="#3" Ordinal="8" />
1212
</Target>
1313
</Instance>
14-
<Instance Declaration="#5=M:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService::Update(OnlineStore.Entity.Concrete.Category)" Id="ea66716940e3a119">
14+
<Instance Declaration="#5=M:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService::Update(OnlineStore.Entity.Concrete.Category)" Id="ea6671696d7171ad">
1515
<Target>
1616
<JoinPoint Advising="#1" Description="#3" Ordinal="20" />
1717
</Target>
1818
</Instance>
19-
<Instance Declaration="#6=M:[OnlineStore.Business]OnlineStore.Business.Services.ProductService::Add(OnlineStore.Entity.Concrete.Product)" Id="ea6671697544ce8c">
19+
<Instance Declaration="#6=M:[OnlineStore.Business]OnlineStore.Business.Services.ProductService::Add(OnlineStore.Entity.Concrete.Product)" Id="ea66716984028204">
2020
<Target>
2121
<JoinPoint Advising="#1" Description="#3" Ordinal="25" />
2222
</Target>
2323
</Instance>
24-
<Instance Declaration="#7=M:[OnlineStore.Business]OnlineStore.Business.Services.ProductService::Delete(OnlineStore.Entity.Concrete.Product)" Id="ea667169d7a72bbf">
24+
<Instance Declaration="#7=M:[OnlineStore.Business]OnlineStore.Business.Services.ProductService::Delete(OnlineStore.Entity.Concrete.Product)" Id="ea6671699b98721b">
2525
<Target>
2626
<JoinPoint Advising="#1" Description="#3" Ordinal="29" />
2727
</Target>
2828
</Instance>
29-
<Instance Declaration="#8=M:[OnlineStore.Business]OnlineStore.Business.Services.ProductService::Update(OnlineStore.Entity.Concrete.Product)" Id="ea667169d72f7f11">
29+
<Instance Declaration="#8=M:[OnlineStore.Business]OnlineStore.Business.Services.ProductService::Update(OnlineStore.Entity.Concrete.Product)" Id="ea66716956af34ee">
3030
<Target>
3131
<JoinPoint Advising="#1" Description="#3" Ordinal="44" />
3232
</Target>
3333
</Instance>
3434
</Class>
3535
<Class Class="#9=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.ValidationAspects.FluentValidationAspect">
36-
<Instance Declaration="#2" Id="ea6671695763893d">
36+
<Instance Declaration="#2" Id="ea667169224ec603">
3737
<Target>
3838
<JoinPoint Advising="#9" Description="#3" Ordinal="3" />
3939
</Target>
4040
</Instance>
41-
<Instance Declaration="#5" Id="ea667169f13b5c30">
41+
<Instance Declaration="#5" Id="ea6671697d46caa5">
4242
<Target>
4343
<JoinPoint Advising="#9" Description="#3" Ordinal="19" />
4444
</Target>
4545
</Instance>
46-
<Instance Declaration="#6" Id="ea6671692cbbd1f3">
46+
<Instance Declaration="#6" Id="ea667169071efc6f">
4747
<Target>
4848
<JoinPoint Advising="#9" Description="#3" Ordinal="24" />
4949
</Target>
5050
</Instance>
51-
<Instance Declaration="#8" Id="ea6671692ca77557">
51+
<Instance Declaration="#8" Id="ea66716934709d4e">
5252
<Target>
5353
<JoinPoint Advising="#9" Description="#3" Ordinal="43" />
5454
</Target>
5555
</Instance>
5656
</Class>
5757
<Class Class="#10=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.CacheAsepcts.CacheRemoveAspect">
58-
<Instance Declaration="#2" Id="ea6671690111c8cf">
58+
<Instance Declaration="#2" Id="ea6671699f66951a">
5959
<Target>
6060
<JoinPoint Advising="#10" Description="#3" Ordinal="0" />
6161
</Target>
6262
</Instance>
63-
<Instance Declaration="#4" Id="ea66716962f1943e">
63+
<Instance Declaration="#4" Id="ea667169a53a82d9">
6464
<Target>
6565
<JoinPoint Advising="#10" Description="#3" Ordinal="7" />
6666
</Target>
6767
</Instance>
68-
<Instance Declaration="#5" Id="ea667169ac148380">
68+
<Instance Declaration="#5" Id="ea66716958410300">
6969
<Target>
7070
<JoinPoint Advising="#10" Description="#3" Ordinal="16" />
7171
</Target>
7272
</Instance>
73-
<Instance Declaration="#6" Id="ea6671697bf63e9f">
73+
<Instance Declaration="#6" Id="ea667169a49947db">
7474
<Target>
7575
<JoinPoint Advising="#10" Description="#3" Ordinal="21" />
7676
</Target>
7777
</Instance>
78-
<Instance Declaration="#7" Id="ea6671693ec897b1">
78+
<Instance Declaration="#7" Id="ea667169c1628d38">
7979
<Target>
8080
<JoinPoint Advising="#10" Description="#3" Ordinal="28" />
8181
</Target>
8282
</Instance>
83-
<Instance Declaration="#8" Id="ea6671695dd1a87d">
83+
<Instance Declaration="#8" Id="ea6671697b4227da">
8484
<Target>
8585
<JoinPoint Advising="#10" Description="#3" Ordinal="40" />
8686
</Target>
8787
</Instance>
8888
</Class>
8989
<Class Class="#11=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.LogAspects.LogAspect">
90-
<Instance Declaration="#12=T:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService" Id="ea66716971106af7">
90+
<Instance Declaration="#12=T:[OnlineStore.Business]OnlineStore.Business.Services.CategoryService" Id="ea667169dd6acd03">
9191
<Target Target="#2">
9292
<JoinPoint Advising="#11" Description="#3" />
9393
</Target>
@@ -104,7 +104,7 @@
104104
<JoinPoint Advising="#11" Description="#3" Ordinal="15" />
105105
</Target>
106106
</Instance>
107-
<Instance Declaration="#15=T:[OnlineStore.Business]OnlineStore.Business.Services.ProductService" Id="ea66716996b64458">
107+
<Instance Declaration="#15=T:[OnlineStore.Business]OnlineStore.Business.Services.ProductService" Id="ea667169e39eb39c">
108108
<Target Target="#6">
109109
<JoinPoint Advising="#11" Description="#3" Ordinal="22" />
110110
</Target>
@@ -126,34 +126,34 @@
126126
</Instance>
127127
</Class>
128128
<Class Class="#19=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.PerformanceAspects.MethodWorkingTimeAspect">
129-
<Instance Declaration="#13" Id="ea667169c0249110">
129+
<Instance Declaration="#13" Id="ea667169e6a868b3">
130130
<Target>
131131
<JoinPoint Advising="#19" Description="#3" Ordinal="9" />
132132
</Target>
133133
</Instance>
134-
<Instance Declaration="#14" Id="ea667169d13bd7c4">
134+
<Instance Declaration="#14" Id="ea66716996c862c9">
135135
<Target>
136136
<JoinPoint Advising="#19" Description="#3" Ordinal="14" />
137137
</Target>
138138
</Instance>
139-
<Instance Declaration="#16" Id="ea667169784c1660">
139+
<Instance Declaration="#16" Id="ea6671698de74884">
140140
<Target>
141141
<JoinPoint Advising="#19" Description="#3" Ordinal="30" />
142142
</Target>
143143
</Instance>
144-
<Instance Declaration="#17" Id="ea667169a0045029">
144+
<Instance Declaration="#17" Id="ea667169deb44437">
145145
<Target>
146146
<JoinPoint Advising="#19" Description="#3" Ordinal="33" />
147147
</Target>
148148
</Instance>
149-
<Instance Declaration="#18" Id="ea6671694764241c">
149+
<Instance Declaration="#18" Id="ea667169f176fb44">
150150
<Target>
151151
<JoinPoint Advising="#19" Description="#3" Ordinal="38" />
152152
</Target>
153153
</Instance>
154154
</Class>
155155
<Class Class="#20=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.ExceptionAspects.ExceptionLogAspect">
156-
<Instance Declaration="#12" Id="ea667169646996b0">
156+
<Instance Declaration="#12" Id="ea66716994196a42">
157157
<Target Target="#2">
158158
<JoinPoint Advising="#20" Description="#21=Wrapped by advice(s) OnException" Ordinal="2" />
159159
</Target>
@@ -170,7 +170,7 @@
170170
<JoinPoint Advising="#20" Description="#21" Ordinal="12" />
171171
</Target>
172172
</Instance>
173-
<Instance Declaration="#15" Id="ea667169a5c78cd3">
173+
<Instance Declaration="#15" Id="ea6671697a2fa052">
174174
<Target Target="#6">
175175
<JoinPoint Advising="#20" Description="#21" Ordinal="23" />
176176
</Target>
@@ -192,12 +192,12 @@
192192
</Instance>
193193
</Class>
194194
<Class Class="#22=T:[OnlineStore.Core]OnlineStore.Core.CrossCuttingConcerns.Aspects.Postsharp.CacheAsepcts.CacheAspect">
195-
<Instance Declaration="#14" Id="ea667169f1225f2c">
195+
<Instance Declaration="#14" Id="ea667169440fe84f">
196196
<Target>
197197
<JoinPoint Advising="#22" Description="#23=Intercepted by OnInvoke" Ordinal="13" />
198198
</Target>
199199
</Instance>
200-
<Instance Declaration="#18" Id="ea667169db608b08">
200+
<Instance Declaration="#18" Id="ea66716968b1648f">
201201
<Target>
202202
<JoinPoint Advising="#22" Description="#23" Ordinal="37" />
203203
</Target>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<connectionStrings>
4+
<add name="OnlineStoreContext" connectionString="data source=.;initial catalog=Store;integrated security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
5+
</connectionStrings>
6+
<startup>
7+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
8+
</startup>
9+
<runtime>
10+
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
11+
<dependentAssembly>
12+
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
13+
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
14+
</dependentAssembly>
15+
<dependentAssembly>
16+
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
17+
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
18+
</dependentAssembly>
19+
<dependentAssembly>
20+
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
21+
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
22+
</dependentAssembly>
23+
<dependentAssembly>
24+
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
25+
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
26+
</dependentAssembly>
27+
<dependentAssembly>
28+
<assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
29+
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
30+
</dependentAssembly>
31+
<dependentAssembly>
32+
<assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
33+
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
34+
</dependentAssembly>
35+
</assemblyBinding>
36+
</runtime>
37+
<appSettings>
38+
<!--<add key="owin:AutomaticAppStartup" value="false" />-->
39+
<add key="RedisCacheUrl" value="localhost:6379" />
40+
<add key="log4net.Config" value="log4net.config" />
41+
<add key="log4net.Config.Watch" value="false" />
42+
</appSettings>
43+
</configuration>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using Microsoft.Owin.Security.OAuth;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Text;
6+
using System.Threading.Tasks;
7+
8+
namespace OnlineStore.WebApi.SelfHost.Authentication
9+
{
10+
public class AuthorizationServerProvider : OAuthAuthorizationServerProvider
11+
{
12+
public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
13+
{
14+
context.Validated();
15+
}
16+
17+
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
18+
{
19+
context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
20+
IdentityManager identityManager = new IdentityManager();
21+
identityManager.SetClaimIdentity(context);
22+
}
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
using Microsoft.Owin.Security.OAuth;
2+
using Newtonsoft.Json;
3+
using OnlineStore.Business.Contracts;
4+
using OnlineStore.Business.DependencyResolvers.Ninject;
5+
using OnlineStore.Core.CrossCuttingConcerns.Security;
6+
using OnlineStore.Entity.Concrete;
7+
using System;
8+
using System.Collections.Generic;
9+
using System.Linq;
10+
using System.Security.Claims;
11+
using System.Text;
12+
using System.Threading.Tasks;
13+
14+
namespace OnlineStore.WebApi.SelfHost.Authentication
15+
{
16+
public class IdentityManager// : BaseClass
17+
{
18+
private readonly IUserService _userService;
19+
public IdentityManager()
20+
{
21+
_userService = InstanceFactory.GetInstance<IUserService>();
22+
}
23+
24+
public void SetClaimIdentity(OAuthGrantResourceOwnerCredentialsContext context)
25+
{
26+
try
27+
{
28+
var user = _userService.Get(_ => _.Email == context.UserName && _.Password == context.Password);
29+
if (user != null)
30+
{
31+
var roles = _userService.GetUserRoles(user);
32+
33+
CustomIdentity<User> customIdentity = new CustomIdentity<User>
34+
{
35+
AuthenticationType = context.Options.AuthenticationType,
36+
IsAuthenticated = true,
37+
Name = user.FullName,
38+
UserData = user,
39+
Roles = roles
40+
};
41+
42+
var json = JsonConvert.SerializeObject(customIdentity);
43+
44+
var identity = new ClaimsIdentity(context.Options.AuthenticationType);
45+
identity.AddClaim(new Claim("UserData", json));
46+
foreach (var role in roles)
47+
{
48+
identity.AddClaim(new Claim(ClaimTypes.Role, role));
49+
}
50+
51+
context.Validated(identity);
52+
53+
54+
55+
56+
}
57+
else
58+
{
59+
context.SetError("invalid_grant", "Invalid username and password");
60+
}
61+
}
62+
catch (Exception ex)
63+
{
64+
65+
throw;
66+
}
67+
}
68+
}
69+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//using Microsoft.Owin;
2+
//using Microsoft.Owin.Security.OAuth;
3+
//using Owin;
4+
//using System;
5+
//using System.Collections.Generic;
6+
//using System.Linq;
7+
//using System.Text;
8+
//using System.Threading.Tasks;
9+
//using System.Web.Http;
10+
11+
//[assembly: OwinStartup(typeof(OnlineStore.WebApi.SelfHost.Authentication.Startup))]
12+
//namespace OnlineStore.WebApi.SelfHost.Authentication
13+
//{
14+
// public class Startup
15+
// {
16+
// public void Configuration(IAppBuilder app)
17+
// {
18+
// HttpConfiguration config = new HttpConfiguration();
19+
// //config.DependencyResolver = new NinjectResolver(new Ninject.Web.Common.Bootstrapper().Kernel);
20+
// ConfigureOAuth(app);
21+
// OnlineStore.WebApi.SelfHost.Startup.Configuration(config);
22+
// //app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
23+
// app.UseWebApi(config);
24+
25+
// }
26+
27+
// private void ConfigureOAuth(IAppBuilder app)
28+
// {
29+
// OAuthAuthorizationServerOptions oAuthAuthorizationServerOptions = new OAuthAuthorizationServerOptions()
30+
// {
31+
// TokenEndpointPath = new Microsoft.Owin.PathString("/token"),
32+
// AccessTokenExpireTimeSpan = TimeSpan.FromHours(10),
33+
// AllowInsecureHttp = true,
34+
// Provider = new AuthorizationServerProvider()
35+
// };
36+
37+
38+
// app.UseOAuthAuthorizationServer(oAuthAuthorizationServerOptions);
39+
// app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
40+
// }
41+
// }
42+
//}

0 commit comments

Comments
 (0)