text:
Gig By The Sea

The March Madness college basketball tournament is one of the most popular sporting events annually held in America. Throughout this month chosen schools will face off with “one-and-done” games until the last team reign supreme and crowned victors of the national title.

Anyone who tracks these yearly match-ups knows fans go “mad” for their home teams. Normal human beings who “on the regular” are composed and well put together go berserk… nutty…wig out rooting for their favorite squad with every pop towards the hoop. In fact, I would argue we all know someone who goes bonkers with the b-ball craze wearing smelly jerseys and shed ceremonial tears over broken brackets.

And what does this “tourney” have to do with my work you ask? As fate will have it the South Carolina Gamecocks are still in the hunt for the big win in a couple of days. Across the state, thousands will be coming down with GAME-DAY Flu!!! Endless bowls of greasy cheap chips, intermittent obscene catcalls at the TV and pouty face syndrome if they lose.

South Carolinians, I offer you a safe place this year to escape the fandamonium between now and the final whistle. A FREE event for all, especially the weary supporter or the ones that simply don’t care to watch. Instead, choose to remove yourself from the off-colored banter about bad calls, stupid coaching and hotshot ball hogs.

Do something more constructive this coming week and attend a happy gathering down by the water’s edge where the only sounds you will hear are sweet notes from a piano player and a soulful singer from New York, laughter between friends and personal intuitive story-telling from yours truly.

Featuring Jillian Maas Backman, Author and Paula Cross, Jazz Vocalist

Thursday March 30, 2017 at 6:30PM to 8 PM

Hilton Garden Inn, Myrtle Beach

2383 Coastal Grand Circle, Myrtle Beach, South Carolina 29577

Click here to Register FREE: ImaginePublicity

Get every new post on this blog delivered to your Inbox.

Join other followers:


Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: text/html

WARC-Type: response

text:
Tuesday, May 11, 2010

Distance View

10"x 8" $4o.00
Oil on panel
I love the amber grasses with the Spruce greens and the distance blues of water and mountains this time of year. We are in Alaska now until October. We will spend May in Anchor Point, then across the Cook Inlet on the beach site at Snug Harbor for June, July, & August. We will return to Anchor Point for September and leave for New York State in October, then back to Texas in November. Since my retirement, I join my husband as a true Snowbird. Life is good for an artist!

1 comment:

  1. Beautiful painting Jill. Nice color and texture. Love it.

warcinfo:
robots: classic
hostname: ip-10-164-5-214.ec2.internal
software: Nutch 1.6 (CC)
isPartOf: CC-MAIN-2017-47
operator: Common Crawl Admin
description: Wide crawl of the web for November 2017
publisher: Common Crawl
format: WARC File Format 1.0
conformsTo: http://bibnum.bnf.fr/WARC/WARC_ISO_28500_version1_latestdraft.pdf


WARC-Identified-Payload-Type: application/xhtml+xml

text:
Another blue blog

I know that my english is not that good. But I do my best! :)

The ladder effect

Falling apart

Climing towards the sun.
Climing away from the beginning.
How far can i go? I don't know.
How far can i fall? I don't know.

Climing is hard, falling is easy

I can fall with you, but never protect you.
Or I can take you with me and be your friend.
If i take you with me, we can built a relationship.
But if we fall, we fall apart forever

friends stay together.
But relationships can fall apart.
Be my friend and we stay together
Or we can built a relationship, but gamble forever.

0 kommentarer:

ss_blog_claim=04b88a37175c221cbb5b346ee7c75ac3 ss_blog_claim=04b88a37175c221cbb5b346ee7c75ac3


WARC-Truncated: length

text:
Council commits over half a million pounds to new Jim Clark museum

February 24, 2015

Scottish Borders Council has committed funding of £515,000 towards an enlarged and improved museum to celebrate the life and achievements of two-time Formula One World Champion Jim Clark.

The funding has been included in the Council’s strategic capital plan and will help support the estimated £1.2million project. External funding is also being sought to assist with the scheme.

The project will see the Council’s existing Jim Clark Room in Newtown Street, Duns expanded on the current site and enhanced to allow cars raced by Clark to be displayed, along with a wide range of trophies and other memorabilia.

Councillor Vicky Davidson, SBC’s Executive Member for Culture, Sport, Youth and Communities and a Jim Clark trustee, said: “I am delighted that the Council has confirmed its financial commitment to this project, which the Council and the Jim Clark Trust have been working in partnership to make a reality.

“The existing trophy room is a popular visitor attraction in its own right, but what will be created really befits the incredible achievements of this adopted Borderer and unassuming Berwickshire farmer. The new museum will give us space to display some of Jim Clark’s actual race cars along with his trophies and will put the museum up there with Scotland’s foremost visitor attractions.

“The Council would like to thank the Jim Clark Trust and its patrons as well as the wider motorsport community for their continuing support.”

The aim is for the new museum to open in 2018, the 50th anniversary of Jim Clark’s tragic death at Hockenheim in Germany at the age of just 32. He is still considered one of the greatest ever racing drivers, and has a record that has stood the test of time.

Doug Niven, who, along with Ian Calder, represents Jim Clark’s family on the Trust added: “The Jim Clark Trust is delighted that Scottish Borders Council has earmarked this significant sum to a new museum in Duns and looks forward to continuing to work closely with the Council to ensure the plans come to fruition.

“Being able to display some of Jim’s cars in an expanded museum in Duns has been a long-held dream of many people, and this commitment from the Council takes us a lot closer to seeing that achieved.”

Jim Clark won the Formula One championship in 1963, becoming the then youngest ever World Champion. He followed it up with victory again in 1965 and in the same year also won the prestigious Indianapolis 500 in America. He remains the only driver to have won both the Formula One and Indy 500 titles in the same year.


text:
Divorces in shelby county tennessee

After the divorces in shelby county tennessee performing

As you start practising the exercises and communication actions your counselor offers you, you'll find that you relationship strengthens and can construct in belief, intimacy and keenness. We additionally welcome you to analyze the content of our website. Most state schools don't require these further forms. Basically, it's good to fear about somebody digging by means of your internet. If you're utilizing cruelty as the reason you're getting a divorce, you do not have to wait a 12 months before beginning or completing the divorce proceedings. Men who know oral suggestions, tricks and techniques to bringing their wife to intense climaxes are very a lot appreciated. Clearly if the change is important as a consequence of a drafting error on my half, there could be no charge. These are fairly uncommon. 00 compared to what you'll have spent utilizing an attorney for the same divorce. It appears like he does not need to be cooperative. Inheritor was a divorces in shelby county tennessee of the U. He stated that on the advice of an Ernst Young coach, he mentioned that concern with two of the partners on his new team. In view of the truth that every case shouldn't be the identical, there is no blanket statement with regards to who will employ a divorce lawyer and who may relinquish the attendance of 1. Likewise, any money owed incurred during marriage are presumed to be group debt. Whether or not or not divorces in shelby county tennessee excessive net value or themselves celebrities, my expertise is in serving to people who need a divorces in shelby county tennessee house, an empathetic ear and someone divorce rate in the military plenty of experience negotiating the terrain between being married to being single with or with out kids, careers or status. Iraqi civilians need to be better protected against violence that always targets them, the Worldwide Committee of the Red Cross said Wednesday. Then after divorce freedom man soon as the wedding and honeymoon are over, the couple is faced with a large amount of debt from their elaborate celebration. You may help your children let go of this false impression. So then, he who marries the virgin does proper, but he who does not marry her does higher. First relationship, I met this lady and she or he was on the giving finish and I was receiving (No dirty minds now). Each state has different requirements and the nationwide divorce kind providers don't concentrate on Texas divorce paperwork like we do. We all have to learn how to use it the appropriate approach. Since they aren't mortally culpable, they might be validly absolved in confession and, being in the state of grace, they could in principle obtain Communion. An divorces in shelby county tennessee can not seek everlasting spousal assist in order that she or he can have enough money to purchase a model new top-of-the-line luxury sports activities automobile. I too have been on this state of affairs and I understand how determined and dire it might make you are feeling. Write up a divorce agreement. ninety nine. There, you will find an unlimited quantity of knowledge, from referrals to basic data on a variety of legal subjects. The Household Regulation Info Center will provide DeKalb County residents and people who file a case inside DeKalb County with a one-time, 30-minute consultation for a nominal price. The Choose hears all of the proof after which points a Closing Judgment within the type of a Decree of Dissolution. Usually this completed by talaaq. It was going downhill fast. Their services extend to married couples who desire a authorized separation without continuing to divorce. Its rights - no matter they're - derive from the truth that it exists and that it has children and divorce and statistics potential to develop life. The Paradesi synagogue still has a congregation and in addition attracts tourists as a historic website. When your relationship divorces in shelby county tennessee, it's a must to make monumental adjustments both emotionally, financially and virtually to accommodate their absence in your life. Organizational Excellence: We must divorces in shelby county tennessee enhance our service supply, consumer outcomes, IT programs, and monetary assist for the division. Accept that reactions like these will lessen over time. A ship carrying diesel and kerosene was grounded forty five km off Paradip coast on Sunday, official sources said right here in the present day. Beslow's (second) spouse has made it clear that Hallmark holidays like Valentine's Day maintain no interest for her. Establish residency in Oklahoma. In a world context, in 1986, the United States adopted the 1980 Hague Conference on the Civil Elements of Worldwide Child Abduction (42 U. While most attorneys will advise you to have a prenuptial agreement, their concern is usually for your finances. Where pension preparations are concerned, you must also consider getting specialist monetary advice. A synagogue was built at Parur in 1615, at a site that in keeping with tradition had a synagogue in-built 1165. Whereas it is true that a self-filed divorce can be a relatively painless event, never assume that yours will go off with no hitch. Now those Mayan years are a little bit shorter than our common 365-day yr. Contributions which have gathered during the marriage are thought of marital assets. One of the most devastating issues which may occur to anybody in their life is the ending of a relationship with someone they love. What does probably the most harm is parents combating in front of the children. If you are experiencing difficulties in your spouse, then consulting Save My Marriage Right this moment is the proper decision. In reality in the case of any divorces in shelby county tennessee matters, all signed paperwork have to be notarized; in any other case it's too easy for the opposite social gathering to say that they didn't signal it or that you solid their signature. If things do not work out, you'll be able to continue your action for divorces in shelby county tennessee as if you had not spent the time collectively. If you're unable to succeed in an agreement concerning dwelling preparations, guardianship, visitation rights and baby maintenance assist, you possibly can seek assist from household mediation (perheasioiden sovittelu). In some circumstances, sexual dysfunction or disinterest might start after tying the shawnee county district divorce court topeka, ks. The unprepared and people who try to deal with divorces in shelby county tennessee own divorces in shelby county tennessee youngster custody divorces in shelby county tennessee face a troublesome time on this regard. An Inexpensive Metropolis for All: The CAO sees the supply of reasonably priced housing as important to Seattle remaining a vibrant and livable city. Divorces in shelby county tennessee Tacheo's technical workers finds that information or processes belonging to a member pose a menace to the proper technical operation of the system or to the security of other members, Tacheo reserves the proper to delete those information or to cease divorces in shelby county tennessee processes. Please additionally check with the 1Eighty Labs Phrases of Service and Privacy Coverage, each of which is included herein by reference.

09.07.2013 at 01:14 Yogore:
Now all became clear, many thanks for the information. You have very much helped me.

17.07.2013 at 17:09 Milkree:
It is a pity, that now I can not express - I hurry up on job. I will be released - I will necessarily express the opinion on this question.


text:
Mutual divorce agreement format

Mutual divorce agreement format firm are very

But the courtroom also give mutual divorce agreement format to the non-public legal guidelines of various communities together with the Muslim Personal Regulation. Make a listing of the points of confrontations between you and your spouse. Trusts Attorney is essential to many situations. That is often another four hundred - one thousand. If doable, this needs to divodce agreed between muttual mother and father and signed. Sadly, this mutual divorce agreement format not as frequent as messy divorces are. This isn't true. Not like other divorce getting through the holidays kind websites, we DON'T surprise you with further prices for including children, editing, delivery, mailing, downloading, and so forth. Though the HMGA gives that the daddy is the pure guardian of the kid, the paramount consideration for custody is the welfare of the kid. We'll determine your goals as a mum or dad as well as the needs of your youngster to guantee that foramt settlement or verdict could be reached that is best for you and your child's effectively-being. The primary charge is to file for divorce. Voluntary Look (DC divorce attorney rates chicago - Your spouse can accept mutual divorce agreement format by signing a Voluntary Look. On judicial posts lawyers from among the many persons having sensible experience of authorized work in authorized career, business, legal companies dvorce the state departments, bodies of the state charge, or from amongst expert and authoritative professors of the proper come. Do a chronology of your life, says Kessler. SERVICE OF FAMILY LAW Divlrce together with copies of the papers you might be filing upon the Respondent will probably be required. In formzt of the corners, draw a field and write a quantity between 0-10 in it. Each must seem in individual before the recorder of deeds or a deputy recorder and current valid identification containing date of delivery, together with a Social Safety card, to apply for a marriage license. Should mutual divorce agreement format use our three-step process to generate your divorce papers mutual divorce agreement format be able mutual divorce agreement format initiate your divorce in agrerment than three minutes and save as much as 550. Kansas Authorized Companies has a program that assists self-represented litigants (persons who characterize themselves) earlier than they go to courtroom. Courts weigh the rights of the kid towards the rights of the mother or father, and so they give appreciable weight to any felony conviction. You will not only be attempting to create a wedding but additionally making an attempt to mix households. For those who can't drive beneath legal advice divorce and illinois how on earth divrce you answer questions precisely. Online services that let you buy, for example, a basic divorce where someone will full the petition for you and ship it to the court docket. My children and I are in a much better place whereas with the ability to preserve an amicable relationship with my ex-husband. 01 which permits anybody with a cognizable authorized curiosity to intervene in an action. A woman on this situation is known as agunah (literally, anchored). On one hand, they are ruled by the spiritual regulation of Islam, often called Islamic sharia, and alternatively, the secular family law of the state of New York. Whether or not you might mutual divorce agreement format local or dwell exterior of the world but need a Las Vegas legal professional, we are available to guard your best pursuits. All mutual divorce agreement format want to do is locate the kinds you want in your specific marriage scenario, state, and print them out. After all the questions are answered, you will instantly generate and print your accomplished types and procedures to file your divorce with the court. If youngster custody nonetheless stays in dispute on the time can you file for divorce during bankruptcy the custody listening to, the judge will ultimately award custody as they see match. That is becoming less of a difficulty as couples counseling mutual divorce agreement format into much more widespread. Our Texas divorce varieties value less than a one-hour session with a divorce lawyer. Many kids, via the years, have grown up emotionally whole and psychologically robust, regardless that they might have had hostile childhood mutual divorce agreement format. Name 858-793-8884 in Del Mar, Carmel Valley, North County or San Diego. The delimitation of constituencies must also be truthful and mutual divorce agreement format. It is a disgrace that every one this takes place solely after he introduced his plans for a divorce. Your husband can not ask you to depart your private home throughout the divorce if the home was bought throughout digorce marriage. Don't yield too much of your self or your role as a guardian to your ex. You need to state a purpose why you prefer to a divorce. You simply can not go improper with Gerald and I EXTREMELY recommend him. State legal guidelines govern a wide range of divorce issues, but district, county, and household courts are given broad discretion in fixing legal obligations between the parties. All the above may sound like plenty of work in preparation for a mediation. until 5:00 P. The winners of the North Zone Twenty20 league tourney will conflict with Central Zone winners Railways in the opening match of Group A in the Inter-State All India Twenty20 Match to be played on the Brabourne Stadium right here from April 15. If the 1Eighty Labs technical workers suspects a user title is being used by somebody who isn't authorized by the correct person, 1Eighty Labs may temporarily disable that person's access to be able to protect system security. For more information than argeement offered on this web site, please contact your case employee. Though not stunning, it is always heartbreaking to listen to. The nonresidential father or mother should notify the other dad or mum as soon as potential if unable to keep visitation. It's common for forensic accountants to become involvedeven on a temporary assist number. Though they are now divorced and are equally heartbroken, they are placing up a united front, especially on social media. With regard to custody circumstances, there is a lot to be mutual divorce agreement format about maintaining the established order. He is in Australia (and closely addicted to heroin) but that's all I do know. Utilizing the courts is commonly thought of a divorce forms north carolina resort for resolving problems with custody and access, and might happen when mother and father have tried different methods, similar to talking to a lawyer or using mediation. He is mutual divorce agreement format appearances on places equivalent to COURTTV, and many others, as well as he's a trusted title, and agrement.

07.09.2014 at 05:40 Tygoramar:
I congratulate, what excellent message.

16.09.2014 at 16:39 Tezragore:
It is remarkable, it is very valuable piece

25.09.2014 at 09:13 Taulkree:
Your idea is magnificent

26.09.2014 at 16:19 Kicage:
Yes, really.

27.09.2014 at 15:16 Tugis:
Probably, I am mistaken.

04.10.2014 at 18:43 Vulrajas:
Very amusing message

14.10.2014 at 12:25 Shajas:
In it something is. Now all became clear to me, Many thanks for the information.

21.10.2014 at 15:27 Tygozshura:
In my opinion you are not right. Let's discuss it.

24.10.2014 at 18:17 Shakaktilar:
I consider, that you are mistaken. Write to me in PM, we will communicate.

29.10.2014 at 12:46 Zulushura:
In my opinion you commit an error. Let's discuss. Write to me in PM.


text:
What’s happening in November

We have UKA Examinations

on 11th November so make sure you are booked in

Jan’s JLC Danceathon (I must be crazy)

Jan will be doing a Danceathon on 19th November 2017 she is planing to dance for 24 hours to raise money for our Silver Dancers Club (focusing on Dementia) and for the Alzheimer’s Society.

Calling all Ballroom dancers and dance teachers who are in Blackpool for Strictly or the National Championships in November and JLC Dancers
I am looking for peps who are willing to dance with me (partner me) to raise money for dementia you only need to dance one dance or can choose to dance for a whole hour with me, I’m doing a 24 hour Danceathon so need at least 24 peps

So come on peps put your name and your best foot forward visit Janet’s blog to find out more HERE

How you can help?

  1. text Jan I want to partner you in the Danceathon to 07940088776
  2. text Jan I want to help in the Dancethon (we need lots of behind the scenes help)
  3. Visit her events page on Facebook and share
  4. or donate to her crowdfunding page

Continue reading What’s happening in November

The older we get the more beautiful we grow

Following our amazing fund raising drive to make our studio more disabled friendly we are opening our butterflies initiative.

Sorry until work is finished we are not wheelchair friendly but will be soon….

Caterpillar Sessions – Our Jack and Jill’s playroom will be running caterpillar sessions for all pre-school children but focusing on Children with disabilities.

  • Jack and Jill playtime for Mums and Toddlers Thursday 1.30 – 2.30 pm cost £2.50

Continue reading Butterflies


text:
Wednesday, May 13, 2009

JL DESIGNS featured on instyle weddings blog!!!

the beverly hills hotel wedding of danielle and michael was featured on the instyle weddings blog last month!  what an honor!  it was a gorgeous day and a FANTASTIC team of vendors...

to view the entry, click here - thanks again instyle weddings!!!

No comments:


text:
Thursday, 26 July 2007

Anelka Next?

Reports in two papers this morning name Nicolas Anelka as the the latest striker set for a big money move to West Ham United. The Mail claim the Hammers have already bid a club-record £12million for the Bolton forward as they seek the attacking spearhead to lead their ambitious assault on the top six. Meanwhile, Sam Wallace, writing in The Independent, believes Anelka will be offered the club's biggest pay deal to move to Upton Park but is under the impression that a bid of £6million will be enough to tempt Bolton into selling. In both cases, it is thought the France international will command wages of £90,000 a week as the Premier League's new television deal takes effect.

The West Ham chairman has already missed out on signing Andy Johnson and Darren Bent this summer, says Wallace, but the club believe they have a real chance with Anelka, 28, who has been told by Bolton Wanderers that he can leave at the right price. Sammy Lee said at the weekend that he would allow Anelka to go as long as the club he was joining was playing in the Champions League, although Bolton are understood to be flexible on that count. "He told me he wants Champions League football," Lee said. "But if a Champions League club showed an interest, it would be wrong to stand in his way. I'm not in the business of getting rid of our best players, but I have to be fair to everybody. If the deal was fair to all parties, I would not stop him." There is a slightly different tune being sung in The Sun, with Lee insisting Bolton have no intention of cashing in on their prize asset, but I'll leave that to one side for the moment.

West Ham would be Anelka's eighth major European club - he has had two spells at Paris St-Germain - and his fifth in English football. Despite his constant restlessness, he has always proved himself a reliable goalscorer, if not the life and soul of the clubs he has played for. The France striker was also top scorer at the Reebok last season with 12 goals from 38 games after signing from Fenerbahce for a club record £8million. When Arsene Wenger was looking for Thierry Henry's replacement this summer it is thought he seriously considered a move for Anelka. The Mail claim the player was also on Manchester United's wish-list earlier in the summer and Newcastle, under former Bolton boss Sam Allardyce, have monitored his progress, too. While some of those suitors have since looked elsewhere, there remains strong interest from from Lyons and Werder Bremen but neither the French or German club would be able to pay anything like the salaries Anelka would command in the Premiership.

The steadily increasing wages paid by even clubs outside of the top four in the Premiership have been powered by the new, three-year, £2.1bn television deal which starts this season. According to The Independent, Eggert Magnusson was prepared to offer Andy Johnson £90,000 a week when they failed with an inquiry for the Everton player last month, and Scott Parker is understood to have signed £72,000-a-week contract at West Ham. The east London club have also matched Freddie Ljungberg's salary of around £60,000 a week at Arsenal when he signed for them this week and were prepared to offer a similar amount to Darren Bent - roughly twice what he eventually settled for when he joined Tottenham. Anelka would certainly command higher wages than all of those, claims Wallace, but West Ham believe he fits the bill if they are to mount a credible challenge to qualify for European football. The Mail quote a club insider as saying: "When was the last time West Ham could offer big salaries and lure players from Liverpool and Arsenal — as well as someone with Anelka's pedigree? The answer is never."

Elsewhere, Alan Curbishley has refused to rule the club out of a move for Newcastle midfielder Kieron Dyer. An article in the Express states Newcastle boss Sam Allardyce admitted today that the 28-year-old could be ending his eight-year stay on Tyneside due to "family problems" - and West Ham have been heavily linked with the England man. Speaking after yesterday's 3-2 friendly defeat at Coca-Cola League Two side MK Dons, Curbishley said: "I'm looking in all areas, and it's not very often that a club says that a player is available. You normally phone up and get told that people are not available, so it's very difficult. But anything can still happen. The situation is that Kieron wants to leave the club, as I understand it, but I don't know anything else. We get linked with a lot of players at the minute, and he's one of them. We are actively looking to strengthen the squad and we have to replace those who have left. I have one eye on everything until that window closes - so we'll have to see."

No comments:

Copyright 2007 ID Media Inc, All Right Reserved. Crafted by Nurudin Jauhari


text:
Thursday, 25 June 2015

Obiang The Dancing Bear

It was on a derelict scrub of land in the middle of a housing estate that the young Pedro Mba Obiang Avomo first caught the eye. "He was fourteen years of age and playing in the Alcalá de Henares youth team, his local amateur side in a town about 30 kilometers from Madrid," remembers noted Fifa agent Giovanni Fiore. Scouting for Sampdoria at the time, Fiore sent word back to his Genovese paymasters that he had witnessed a 'dancing bear'; that rare combination of imposing physicality and mesmeric technical skill. "Even at that age he was head and shoulders above all his companions," says Fiore. "He had a great ease of movement and it seemed that he could do the more complicated things without much effort. Then there was his personality. He was already the undisputed reference point of the entire team; a leader his team-mates would always seek out in open play, at free kicks and with corners." As yet blissfully unaware of the burgeoning interest being shown, Obiang- known more familiarly by his nickname Perico (a type of parrot)- has a slightly different recollection of those formative years. "I have strong memories of my early days," he says. "From about the age of twelve I was continually overlooked by the big teams; there were a lot of doors slammed on me." It would be a further two years after Fiore's initial report before the Serie A club with a fast growing reputation as the benchmark for clubs plundering La Liga youth academies would make their move. In that time Obiang had finally attracted the interest of Atletico Madrid, enrolling with the Cadetes despite some initial family reservations. "My father only agreed," admits Obiang, "because he knew it was always my ambition to play for Real Madrid." A tentative step closer to what was still a distant dream but still struggling to make an impression, the young Perico was about to get a break. "When I arrived at Atletico I started as a striker," he explains. "But one of the midfielders got injured and the coach tried me there. Since that day, it became my position. I hated it, and I'm still hating (laughs) but they say I can't change."

August 4, 2008 was the date Obiang insists changed his life. Sampdoria Sporting Director Beppe Marotta and trusted lieutenant Fabio Paratici, responsible for a scouting network that is the envy of Europe, came calling. The pair have worked together for a number of years and although now deploying their collective magic at Juventus, had recently been responsible for, among others, snatching a young Roberto Soriano away from Bayern Munich and Mauro Icardi out of Barcelona. Not that Obiang would use the word 'snatch' in his case. "I would say I was almost discarded," he corrects when he considering the desultory transfer fee of €130,000 the Blucerchiati were asked to pay. "Sampdoria offered me a professional contract," says Obiang, "but also a detailed football project specifically for me." It was, he says, far more than just vague promises and was enough to convince both him and his parents that his style of play was better suited to Italian football than it ever would be in La Liga. Still, at just sixteen- the minimum age that an international transfer within the European Union is allowed- the decision by a young footballer to seek his fortune in another country is a momentous one. "It is actually quite widespread, maybe not in Spain, but in the world," says Obiang. "We tend to think that a home-grown player will have more patience to try and break through, but it is very frustrating when someone from outside will take your chance. It is also true that the player who is bought in has a different value to the club. Besides, in Spain there is far more competition at the younger level than there is in Italy, even if in Italy there is maybe a greater fear of throwing youngsters into the first team."

Life in Genoa was initially hard and the city, in Obiang's own words, was not 'an easy fit'. By his estimation it is a place to be admired rather than enjoyed and the first impression is one of remoteness. "It is created and designed more for its citizens than for tourists," thinks the Spaniard, who lists architectural study as one of his keen interests. In fact, he adds pointedly, it has one of the oldest populations in Europe. "The first trip I made was with my manager, Jose Miguel Gonzalez, and my father to see the facilities and to find out about the sports project," he recalls. "The second trip I did alone. I started living in the residence of Vila Flora with the other youth players and it was quite difficult as it would be for any child who leaves their home and changes country. At first I despaired at not understanding the language. Within two months I said to Jose, 'I want to come back, the Italians speak very fast, and the training runs are long here' (laughs). Then I began to better assimilate the tactical concepts and make friends in the locker room and I began to relax."

Although he arrived as an intended member of the 'Allievi Nazionali' youth squad, in the August of 2008 Obiang was immediately thrown in with the first team for pre-season training. By late January of the following year coach Walter Mazzarri had included him as an unused sub in games against both Lazio and Chievo. The next season, with Mazarri now departed, brought promotion to the Primavera, or reserve squad. Obiang says he was learning quickly but there were some aspects that he initially found difficult. "It was physically and especially tactical," he admits. "At first I tended to 'exaggerate' everything with elaborate flourishes, as is encouraged in Spanish football. In Italy there is very little room for such things. I also suffered a lot of blows and endured much contact. I thought 'you can not give me so many kicks'. Tactically, coaches like you to hold your position, to keep things simple, no heels or tunnels. They removed these things very quickly from my game and when I adapted, I started playing more." While still technically a youth player Obiang would go on to make 7 preseason appearances in the summer of the 2010-11 season, scoring 2 goals. His full debut would follow that September after an injury crisis ripped through the Sampdoria first team. Called off the bench to replace Vladimir Koman by new coach Domenico Di Carlo, and with his side trailing Juventus 2-1, Obiang helped his team to a credible 3-3 draw in the Stadio Olimpico di Torino. On the morning of the game he had put pen to paper on a new 5-year deal. A few months later Obiang made his European bow in a 0-2 Europa League defeat to Hungarian side Debreceni. Although disappointing on the night, it would be the start of what has become an enduring fascination for the travel-loving Spaniard. "I love doing it [European competition] because I consider myself a citizen of the world," enthuses Obiang. "To know and to discover irresistible temptations." It is also the reason he has become a self-confessed 'slave' to the Internet. "It opens the mind and satisfies my curiosity," he says, before revealing that for a recent birthday his friends gave him a computer. Surprisingly for someone known as 'Perico' to his friends he says he is not that inclined to tweet; preferring as he does to communicate with people face-to-face.

Although never establishing himself as a regular in a season that would ultimately end in the pain of relegation for Sampdoria, Obiang's education on and off the pitch was continuing apace. "The Italian practice sessions for the first team are done through repetitions," reveals Obiang. "There are sessions where we would work the same concept for an hour; sometimes it can be an hour video study." It is an idea referred to as 'Omni Particulare Cure' and is centred on preparation through obsessive attention to detail. "When you face a technically superior team," he says, "you have to be superior on a tactical and physical level." Obiang also describes with wonderment the 'thrill' of finding himself lining up next to Antonio Cassano and Giampaolo Pazzini for the precious few months before they would depart. "I already knew about Antonio from his time at Madrid when I was living there," he states. "When I trained with him, I felt nervous but I also had the desire to want to prove myself." Cassano could be a little 'fussy' always wanting the ball played to his feet, Obiang explains with a smile, but insists all the veterans gave him confidence. "Even though he was very serious during training, at the end Cassano always had a joke and time to talk with me."

That April Obiang, who also holds Equatoguinean passport, earned a Spanish Under 20 call-up for Porto International Tournament. Despite the fact he never made it onto the field it only served to intensify a tug of war between the two countries that has yet to be definitively settled. After all, if Obiang has always identified himself as Spanish (having also represented the country at Under 17, Under 19 and Under 21) things can still get a little complicated when your uncle- Teodoro Obiang Nguema Mbasogo- is an African dictator. Once described as 'worse than Mugabe', the man who routinely refers to himself as El Jefe (the boss) is now the world's third longest-ruling non-royal head of state since he ousted his own uncle (Francisco Macias) in a military coup in 1979. Accused of unlawful killings, government-sanctioned kidnappings; systematic torture, corruption, embezzlement and cannibalism, Obiang is understandably cautious when discussing the subject. "I spoke to him only once, when I first said no to the national team," he says. "I know of his life, but I do not judge. In Guinea, when we speak of family we really mean tribe; it is very different from in Italy or Spain. I have two uncles from my mother's side, and on my father's side they are in double figures." He says that he once asked his father to make a list of all his family members and it was 'so long' that most of the names on it he has never met. Obiang also has a cousin, Ruslan, who is 'Secretary of State and Sport' in the African country with direct influence on national team selection. He says he was last approached by the the Guinean Football Federation prior to their hosting of the 2012 edition of the African Cup of Nations, but declined their entreaties on the grounds he could never agree to play for a country on whose land he has never set foot. "Once my parents migrated, they made the decision to never return there before my coming of age," he states. "They still would never leave me alone, even when I was in Italy. Only now, after 25 years, have they returned to visit the country."

Young Pedro remains the only one of his siblings yet to take the trip to Akam-Esandom, the region where his father was born. "Before they would put more pressure on me," he smiles, "but since they see that things are going well for me in football they understand things differently. They know that I travel a lot and need to focus." Part of his ambivalence can be explained thus: "There are things that scare me a little. I see it in pictures, but I only know the things that I have been told. I want to live my own experience, because not everything is always as advertised. Right now, I could go and not know if I would enjoy it. I'm waiting for the right moment, when I have a longer vacation. I wanted to go last summer, but had to cut short my break because of fitness issues." All of which is to suggest Obiang has not fully turned his back on 'his roots'. Recently, he reveals, he got a call from current Equatorial Guinea coach Andoni Goikoetxea, the legendary 'Butcher of Bilbao'. "He spoke to me again about the project," says Obiang, "but I told him we should talk later because my club were in a negative run at the time and I needed to stay focused. To address such an issue requires a lot of quiet thought but I guess I will need to decide soon." There is, of course, a third option available to Obiang. "Never, even if in theory I could play for the Italian national team," he laughs. "I like to defend the causes I believe in. If I chose the blue shirt, it would be like a betrayal."

Obiang would get a chance to fight for Sampdoria's promotion cause in the 2011-12 season following the club's ignominious fall from grace. With several of the big names- including Cassano and Pazzini- jumping ship, new manager Gianluca Atzori was forced to put his faith in young recruits and academy players. The team struggled initially but following yet another change of coach late in the year finally scraped into the playoffs with a sixth place finish. Obiang made a total of 33 league appearances during the campaign, mostly in a purely defensive midfield capacity, and then shone as the team went on an unexpected run through the promotion deciders that saw them upset both Sassuolo and Varese to return to the top flight after just a year. "I had always believed that sooner or later I would play a leading role for a club at the highest level," states Obiang. The following season he was at the heart of Sampdoria's first survival season back in Serie A; his consistently solid performances in the centre of midfield allowing the more creative players such as Andrea Poli and Icardi the freedom to work their magic. Now established as a key player in the side, his form over 34 league appearances would attract the attentions of some of Europe’s top clubs; Chelsea, Tottenham and Manchester City reportedly among those showing interest. "Sampdoria was the ideal club for me to mature and develop my skills," says Obiang when he thinks about the teams rumoured to be looking at him at that time. "But then I also think that dreaming about joining a top club in the future is natural and inevitable." Further evidence of his growing profile was a poll conducted at the end of that 2012-13 season by Inside Spanish Football naming Obiang among their top 15 Spanish youngsters.

As befits a player who started out as a striker, Obiang says that before he came to Italy he was a far more offensive player. Now he had developed into the player he was always meant to be. "I have become a mixture because I had learned a lot of defensive work," he says. "Clearly, I like to get into the penalty area, but now my role is more defensive." Where once he would regularly cite the 'innate elegance' of Zidane as is role-model, now his points of reference are Marcos Senna and Sergio Busquets; to Obiang's eyes the quintessential modern midfielders because they make everything easier through good positioning. "I also love Pirlo because he doesn't just play in front of the defense," he says. "In Italy that player can also control the whole game." For similar reasons he names Xabi Alonso as the player he most admires at the moment. Along with Cruyff and Guti he is the inspiration for why he likes to wear the number 14 on his back. That said, Sam Fribbins, writing for Transfer News Central, thinks there is perhaps an even more apposite comparison to be made with Manchester City's Yaya Touré. "Obiang possesses great stamina and energy enabling him to get around the pitch with ease, especially as a box-to-box midfielder," notes Fribbins. "At the height of 6”2, Obiang can be easily compared to a player such as Touré, since their roles are also fairly similar and both have strong builds, therefore making it hard for any player to push them off the ball." Though larger players, neither are necessarily slow, he observes, and this enables them to make meaningful runs from their own half and well into the opposition’s half. Another similar trait is a great passing ability, ranging from little 'one-two’s' to the more optimistic medium to long-range passes. This is one reason why the Spanish youth setup regularly employed Obiang as a deep-lying playmaker during his time with the team, since he possesses a good passing ability, as well as being able to closely dribble with the ball. "As well as all this," concludes Fribbins, "Obiang has good tackling ability, again making him a dependable option as a box-to-box player. He is known for his terrific work rate, which is a key attribute for any central midfielder to have. Moreover, his natural fitness is of the highest quality, without sustaining any major injuries throughout his professional career to date."

That latter point would be called into question during the following 2013-14 season when a lingering hernia injury meant Obiang would only feature 27 times. During a stuttering campaign which saw Sampdoria struggling to keep their heads above the relegation places, the Spaniard's meteoric rise temporarily faltered. That November, however, would see the arrival of new manager Siniša Mihajlović; the man credited with putting both the club and player back on track. "Mihajlović kept us under strict control, but it depended on how you reacted to him," reveals Obiang. "In some periods he was serious, and at other times very open." If the midfielder has one criticism of a man he credits as a great influence on his career then maybe, he says, "he takes things too much to heart" before acknowledging "but with him we got great results." The list of people who have played an important part in Obiang's journey is a long one. "The first was my discoverer, Antonio Lozano," he states. "Along with my agent, Jose Miguel, he never let me give up on football. Then I went to Atletico. Felice Tufano also, my first coach in Italy with the youth team. They are the ones who have given me a harder psychological mentality. They were very insistent that you had practiced fully and was always learning. After this the physical training troubled me far less. Now I realize that this is a requirement if you are going to be able to handle the pressure of modern football. Nor do I forget Domenico Di Carlo, who gave me my debut." Aside from Mandela and Obama, who Obiang calls his idols, the rest are what he calls his 'family'. "I need to thank the strength of my mother who convinced me to leave Madrid; the courage of my father the traveler and immigrant; the joy of my sister, who occasionally comes to visit and brings a breath of fresh Spanish air. There is also Samuel Eto'o, symbol of Africa, and then [Alfred] Duncan, [Afriyie] Acquah and [Stefano] Okaka. We feel and treat each other as brothers."

Obiang and his brothers would all play their part in what was to be a momentous return to form for the Blucerchiati in 2014-15. Far from the best set of individuals in the league, their industrious, combative style of play turned them into one of the best teams as they finished an impressive seventh. "It's Samp's level of self-sacrifice and defensive organisation that has been the most impressive aspect of their game," noted Sports Blog Nation's Jack Sargeant. "Unsurprisingly, Mihajlović emphasised rapid counter-attacks, and urged his team to get the ball forward as soon as they won it back. It was not always pretty, and it lead to them giving the ball away more often than more patient sides, but its success was undeniable." Then there was the fastidious level of training involved. Taking 'Omni Particulare Cure' to extremes, one report from a training session last season tells how the reserves were called upon to replicate Roma's 4-3-3 formation, and for almost an hour the first team practiced winning it back and instantly triggering a counter attack. "There's no doubting that Mihajlović is an excellent tactician," observed Sargeant. "However, it's not just on the field that the Serb impressed - his press calls continuously provided entertainment. In his introductory press conference, he borrowed heavily from speeches by John F. Kennedy, describing him as "a man whose ideas and words continue to make us dream." He said he'd ask his players "not what Sampdoria can do for them, but what they can do for Sampdoria." A few months later, ahead of a game against Atalanta, he began quoting Dante's epic poem Divine Comedy, urging his players to "push past the Pillars of Hercules." He added that when he arrived at the club, "we were in hell, now we are in purgatory and I want to reach paradise." However, he saved his best literary reference for Samp's trip to Verona, when, in true Shakespearean style, he threatened to "knock Juliet down from the balcony."

The idiosyncratic approach clearly worked for Obiang, whose game over 34 impressive appearances visibly improved again. "He remains neat in possession and loves to get forward, making runs from deep with or without the ball," wrote Unibet's Adam Digby, but now he has added an increased goal threat. According to statistics from, Obiang averaged 3.1 tackles and 1.7 interceptions per game, the former mark (153) bettered by only four players in Serie A. That compares favourably to the likes of Song (2.6), Mark Noble (1.9) and Cheikhou Kouyate (1.8) last season, while Chelsea’s Nemanja Matic, for example, only averaged 2.8 successful tackles per 90 minutes. He also had an impressive 82.2 per cent pass completion rate. "Obiang was often deployed to man-mark a visiting playmaker, sticking to the task diligently and showing a good awareness of the game going on around him," notes Digby. "Long shots at both ends have become something of a trademark, the Alcalá native unafraid to either throw himself in the path of an opposition attempt or unleash a powerful effort of his own." At a point when Spain is still in the grip of the tiki-taka generation of shorter and more agile midfielders, Obiang thinks it is an advantage that he clearly provides another option. "Since I've been away from Spain I feel that I can bring something different," he says. "I have a special mark. My brand is the tactical and physical aspect. In Italy the ball goes faster, so tactically the players are better positioned and apply more pressure so I had to work hard to master that facet." Yet if Obiang had learned to add that physical approach to the neat passing he had learned in the Spanish capital then it is clear that he had not forgotten those lessons, as his delightful through ball to Mauro Icardi for a winning goal against Juventus showed. Then there was the composure and man marking skills displayed against AC Milan, specifically the way he effectively neutralized the threat of Boateng and Montolivo; or the long range effort against Inter Milan that Samir Handanovic somehow parried away from the goal.

Although he clearly blossomed under the guidance of Mihajlović, notes Digby, there was still a hint of a spat between the two men last season; Obiang gaining notoriety for kicking over a water cooler on the touchline after being substituted during a loss to Lazio. "I’m happy because he was angry with the team’s performance and not the substitution," the Serbian said at the time. "It’s pointless being angry afterwards, as you need to use that fire on the field." In fact, so great is the respect between the two that Obiang became the first black player to ever be named vice captain at the Genoa club. "My responsibilities remained the same," states the Spaniard. "Us younger players must always show that we are ready to take the next step." It was, nonetheless, an important symbolic gesture in a country where acts of discrimination remain an everyday occurrence. Take for example the recent comments by former Italy manager Arrigo Sacchi that there are 'too many black players' at youth level in Italy and that it is evidence that the nation is now 'without dignity or pride'. "I challenge racism," insists Obiang, "but I can also agree with what he said if the criticism is not about skin color, but vocational training. I grew up in football in Italy, did years of school there, enrolled at the University of Genoa to study Political Science. I feel so at home there, that it seems like I am more a foreigner these days when I visit my father and my mother in Madrid." It helps, of course, to have a thick skin. If being likened to a 'dancing bear' is questionable enough, then regularly being referred to as the 'Coconut Hierro' in the written press is problematic in the extreme. He was fortunate, Obiang says, to live in a city that quickly learned to accept him. "I was, at first, wondering why there were so few blacks there," he admits. "Yet the Genoese people are strange. At the beginning they are suspicious but then if you make the effort they will take you in their hearts and there is no more difficulty." It is the reason, he says, the recent horrific footage of the drowning illegal immigrants 60 miles off the Libyan coast hit so hard. "I hated the way those images were portrayed on TV," he sighs. "It creates an unwarranted fear in people. Intolerance is not always racism, it can be ignorance and selfishness. The world has changed and some people are afraid of losing their status quo, their well-being, because someone else is in trouble economically."

Never one to hold back, when Genoa was hit by catastrophic floods last October for the second time in three years, Obiang could be found rolling up his sleeves to help the so-called 'mud angels' in the massive rescue and clean-up operation. Corriere della Sera, Italy's biggest daily newspaper, attacked the government by announcing in its front page headline: 'The mud of Genoa, shame of a country', while the Archbishop of Genoa called for a 'timely and massive' action by the government to resolve the crisis and prevent similar disasters in future. "When your city has been rocked, it is normal to give something back," says Obiang. At times like these his mind casts back to all those who helped him when he first arrived as that bewildered sixteen year old; from the lowly employees in the club office who would give him the money for a taxi back to his digs, to his 'second mother', Mrs. Cristina, who would make him dinner and speak patiently and incessantly to him in Italian long before he was able to respond in kind. By now it is clear that Pedro Obiang is not your average footballer. A self confessed cinephile (I usually go to the movies two or three times a week) and fluent in several languages including English, his nickname in the Sampdoria dressing-room was 'The Intellectual'. "That started with Mihajlović," he laughs. It was, he says, on account of his glasses and intellectual pursuits. "I study more as a hobby these days because I never have the time to take exams" admits Obiang. "I studied architecture because of my father, although I was always attracted more to psychology. I think I'm good at talking and I am very interested in the personalities of people." So does he believe in the application of psychology to football? "Yes, it has helped," he insists. "When Sampdoria won promotion to Serie A we had a mental coach who though not specifically a psychologist, worked more on the motivation side. It helped me to relax." After all, he says, it is not always easy to carry out a normal life on the one hand and on the other a football life; to juggle two competing and often conflicting set of expectations. Not even for a dancing bear.

Florin's Gone Shopping said...

Another great piece. I really like the sound of this guy both as a footballer and a person. We might get more high profile players this summer but I have a feeling he is going to prove to be the best value of the lot.

Anonymous said...

Lovely read, thanks. Now you best get started on a Payet post!

Goatygav said...

Superb piece. Just wanted to say thank you very much for such an informative posting. Great stuff :). I agree with FGS' comment above. Clearly Pedro is an intelligent, well read and hard working individual with high personal ethics and standards. He has some great role models and has learned from them.

The spine of West Ham's team is looking stronger and stronger. Adrian. Reid, Tomkins and Collins. Chek Koyate and Pedro Obiang. All good, solid and hard working players who will disrupt opponents and use the balls that they've won intelligently (OK - Perhaps Ginge might punt up-field a few times but will most probably be encouraged, and have more confidence, to distribute via midfield now with the deeper midfielders inspiring more confidence).

It's the strength in depth of the squad that worries me still. Further good signings undoubtedly needed but things are looking up after Super Slav has said that they won't panic buy but will be patient if needs be to find the right quality. Really need an injection of creativity now IMO. Payet looks a good prospect. Hope to see him sign soon.

Better times ahead I feel.

Anonymous said...

You've gotta stop posting these great articles because I'm just getting far too hyped for the start of the season. I know it's all going to go tits up.

Anonymous said...

Thanx, really enjoyed that

Anonymous said...

Now that's what i call a bloody good read. Keep up the fine work

Anonymous said...

Fascinating piece - not your average footballer it would seem and sounds like the strength of character to adapt quickly to England and our game. Looking forward to seeing him play. Thanks

Jake Bentley said...

Excellent article. Future captain possibly?

Babafemi Onagbesan said...

Beautiful write-up; well pieced together. Amazingly educative also. Keep this up. Babafemi

Copyright 2007 ID Media Inc, All Right Reserved. Crafted by Nurudin Jauhari


text:
Tuesday, July 23, 2013

Remember Target URL with Spring Security and Jasig CAS

I recently ran into a unique issue when combining Spring Security, Jasig CAS, and the Ozone Widget Framework (OWF). Basically, the original target URL was not being remembered with all the redirects from the CAS client filters, to CAS server, and then back to Spring Security. For example, if a user browsed to https://localhost/myapp/widget.jsp, they would be redirected to https://localhost/cas. Upon successful login, the user would be incorrectly redirected back to https://localhost/myapp instead of the original target URL.

SavedRequestAwareAuthenticationSuccessHandler almost worked
I thought I had found a solution by using Spring Security's SavedRequestAwareAuthenticationSuccessHandler, and that did work for single requests, but it did not work in an environment like OWF where multiple widgets are loaded simultaneously. The reason is because SavedRequestAwareAuthenticationSuccessHandler extracts the original target URL from the session, which is originally set by the ExceptionTranslationFilter. Since it used the session there could only be one original target URL. So if I had a workspace in OWF that loaded two different widgets from the same WAR (/myapp/widget1.jsp and /myapp/widget2.jsp), then there will only be one target URL saved in the session and both widgets would load the last saved URL, which is obviously not good.

There were several ideas out there, but I really didn't like any of them. Some required you to modify the CAS login form or return some weird javascript in one of the responses. What I wanted was the ability to preserve the original target URL within all the redirect URLs via a parameter. The only problem was, to my knowledge, nothing like this existed in Spring Security. So the following will show you how I extended Spring Security to preserve the original target URL via a parameter. As a simple example, here is a sequence of URLs that I was attempting to support (Note, the URL in the params are typically encoded but I kept them decoded for readability):

  1. User browses to: https://localhost/myapp/widget.jsp
  2. CAS Client filters redirect to: https://localhost/cas/login?service=https://localhost/myapp/j_spring_cas_security_check&spring-security-redirect=/widget.jsp
  3. After authentication user is redirected to the URL defined in the service paramter https://localhost/myapp/j_spring_cas_security_check&spring-security-redirect=/widget.jsp which is monitored by Spring Security.
  4. Once Spring Security does it's thing, it needs to redirect to the value in the spring-security-redirect parameter.
The following example works with Spring Security 3.1.4.RELEASE and Tomcat 7.0.21.
Spring Security Application Context File
What Spring Security example wouldn't be complete without some XML? The following is the application context file (note, for simplicity I have hardcoded the CAS urls and other values, but these would typically be read in from a properties file):

<sec:http use-expressions="true" entry-point-ref="casEntryPoint">
    <sec:intercept-url pattern="/css/**" access="permitAll" />
    <sec:intercept-url pattern="/images/**" access="permitAll" />
    <sec:intercept-url pattern="/scripts/**" access="permitAll" />
    <sec:intercept-url pattern="/**" access="hasRole('ROLE_USER')" requires-channel="https"/>
    <sec:custom-filter ref="casFilter" after="CAS_FILTER"/>

<sec:authentication-manager alias="authenticationManager">
    <sec:authentication-provider ref="casAuthProvider" />

<bean id="casEntryPoint" class="com.example.security.cas.web.RememberCasAuthenticationEntryPoint">
 <property name="loginUrl" value="https://localhost/cas/login" />
 <property name="serviceProperties" ref="serviceProperties" />
 <property name="targetUrlParameter" value="spring-security-redirect" />

<bean id="casAuthProvider" class="com.example.security.cas.authentication.RememberCasAuthenticationProvider">
 <property name="userDetailsService" ref="userService" />
 <property name="serviceProperties" ref="serviceProperties" />
 <property name="ticketValidator" ref="ticketValidator" />
 <property name="key" value="an_id_for_this_auth_provider_only" />
 <property name="targetUrlParameter" value="spring-security-redirect" />

 - This is the filter that monitors all incoming requests for the url /myapp/j_spring_cas_security_check (sequence #7).
 - Sets the targetUrlParameter to redirect to the target URL after authentication.
 - Also sets the authenticationDetailsSource to our custom one in order to have access to the HttpServletRequest
 - in RememberCasAuthenticationProvider for ticket validation.
 - Tried setting the authenticationSuccessHandler to SavedRequestAwareAuthenticationSuccessHandler, and that works
 - for a single request, but in OWF if you have two widgets loading different URLs, it doesn't work because
 - it loads the saved url from the session object, so both widgets load the same url.
<bean id="casFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter">
 <property name="authenticationManager" ref="authenticationManager" />
 <property name="authenticationDetailsSource">
  <bean class="com.example.security.web.authentication.RememberWebAuthenticationDetailsSource"/>
 <property name="authenticationFailureHandler">
  <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
   <property name="defaultFailureUrl" value="/cas_failed.jsp" />
    <property name="authenticationSuccessHandler">
        <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler">
            <property name="defaultTargetUrl" value="/" />
            <property name="targetUrlParameter" value="spring-security-redirect" />
 <property name="proxyGrantingTicketStorage" ref="proxyGrantingTicketStorage" />
 <property name="proxyReceptorUrl" value="/secure/receptor" />

CAS Entry Point
When dealing with Spring Security it all starts with the http entry-point-ref attribute. Here is the code for RememberCasAuthenticationEntryPoint:

package com.example.security.cas.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jasig.cas.client.util.CommonUtils;

import org.springframework.security.cas.web.CasAuthenticationEntryPoint;

 * Class which is responsible for remembering the original target url specified by the client.
 * Takes the original target url and appends that to the service param used by CAS.
 * This will later be used to redirect to the target URL after authentication.
public class RememberCasAuthenticationEntryPoint extends CasAuthenticationEntryPoint {
    String targetUrlParameter = "spring-security-redirect";
    protected String createServiceUrl(final HttpServletRequest request, final HttpServletResponse response) {
        String service = this.serviceProperties.getService();
        String servletPath = request.getServletPath();
        if (servletPath) {
            service += String.format("?%s=%s", this.targetUrlParameter, servletPath);
        return CommonUtils.constructServiceUrl(null, response, service, null, this.serviceProperties.getArtifactParameter(), this.encodeServiceUrlWithSessionId);

CAS Authentication Provider
Next up is the CAS authentication provider which we have defined as RememberCasAuthenticationProvider. This bean is given to the CAS Custom Filter under the alias authenticationManager. Here is the code for RememberCasAuthenticationProvider:

package com.example.security.cas.authentication;

import com.example.security.web.authentication.RememberWebAuthenticationDetails;

import org.jasig.cas.client.validation.Assertion;
import org.jasig.cas.client.validation.TicketValidationException;

import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.authentication.AccountStatusUserDetailsChecker;
import org.springframework.security.cas.authentication.CasAuthenticationProvider;
import org.springframework.security.cas.authentication.CasAuthenticationToken;
import org.springframework.security.cas.ServiceProperties;
import org.springframework.security.cas.web.CasAuthenticationFilter;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper;
import org.springframework.security.core.authority.mapping.NullAuthoritiesMapper;
import org.springframework.security.core.userdetails.*;

 * CasAuthenticationProvider that tries to remember the original target url requested by the client.
 * The trick is having access to the HttpServletRequest in the authenticateNow() method.
 * This is accomplished via the RememberWebAuthenticationDetails class.
 * Since authenticateNow() was marked as private in CasAuthenticationProvider I had to also override
 * the authenticate() method. Created spring security jira https://jira.springsource.org/browse/SEC-2188
 * to address making authenticateNow protected so we don't have to duplicate authenticate().
public class RememberCasAuthenticationProvider extends CasAuthenticationProvider {

    UserDetailsChecker userDetailsChecker = new AccountStatusUserDetailsChecker();
    ServiceProperties serviceProperties;
    GrantedAuthoritiesMapper authoritiesMapper = new NullAuthoritiesMapper();
    String targetUrlParameter = "spring-security-redirect";

     * Straight copy and paste from CasAuthenticationProvider
     * @see spring security jira https://jira.springsource.org/browse/SEC-2188
    public Authentication authenticate(Authentication authentication) throws AuthenticationException {

     * The service URL used in ticketValidator.validate() needs to match the service URL given to CAS when
     * the ticket was granted.
    protected CasAuthenticationToken authenticateNow(final Authentication authentication) throws AuthenticationException {
        try {
            String targetPath = this.getTargetPath(authentication.getDetails());
            def service = String.format("%s?%s", serviceProperties.getService(), targetPath);
            final Assertion assertion = this.ticketValidator.validate(authentication.getCredentials().toString(), service);
            final UserDetails userDetails = loadUserByAssertion(assertion);
            return new CasAuthenticationToken(this.key, userDetails, authentication.getCredentials(),
                    authoritiesMapper.mapAuthorities(userDetails.getAuthorities()), userDetails, assertion);
        } catch (final TicketValidationException e) {
            throw new BadCredentialsException(e.getMessage(), e);
     * Extracts the original target url form the query string.
     * Example query string: spring-security-redirect=/widget.jsp&ticket=ST-112-RiRTVZmzghHO7az5gpJF-cas
    protected String getTargetPath(Object authenticationDetails) {
        String targetPath = "";
        if (authenticationDetails instanceof RememberWebAuthenticationDetails) {
            RememberWebAuthenticationDetails details = (RememberWebAuthenticationDetails) authenticationDetails;
            String queryString = details.getQueryString();
            if (queryString) {
                int start = queryString.indexOf(this.targetUrlParameter);
                if (start >= 0) {
                    int end = queryString.indexOf("&", start);
                    if (end >= 0) {
                        targetPath = queryString.substring(start, end);
                    } else {
                        targetPath = queryString.substring(start);
        return targetPath;

Authentication Details Source
Since I needed access to the requests query string in the RememberCasAuthenticationProvider.getTargetPath() method, I needed to provide a different WebAuthenticationDetails class. This was accomplished by setting the authenticationDetailsSource property on the CAS Filter. Here is the code for RememberWebAuthenticationDetailsSource:

package com.example.security.web.authentication;

import javax.servlet.http.HttpServletRequest;

import org.springframework.security.authentication.AuthenticationDetailsSource;
import org.springframework.security.web.authentication.WebAuthenticationDetails

public class RememberWebAuthenticationDetailsSource implements AuthenticationDetailsSource<HttpServletRequest, WebAuthenticationDetails> {

    public WebAuthenticationDetails buildDetails(HttpServletRequest request) {
        return new RememberWebAuthenticationDetails(request);

Here is the code for RememberWebAuthenticationDetails:

package com.example.security.web.authentication;

import javax.servlet.http.HttpServletRequest;

import org.springframework.security.web.authentication.WebAuthenticationDetails;

public class RememberWebAuthenticationDetails extends WebAuthenticationDetails {
    private final String queryString;

    public RememberWebAuthenticationDetails(HttpServletRequest request) {
        this.queryString = request.getQueryString();
    public String getQueryString() {
        return this.queryString;

That pretty much does it. I know it's a lot of code, but once I got familiar with Spring Security it really wasn't that much. Once you get this all configured it should just work and the users original target URL can be seen when getting redirected to the CAS login page and then after authentication, the user should be redirected back to the original target URL. And in an OWF environment where multiple URLs from the same WAR are being loaded simultaneously this solution seems to work.

I do want to mention that we have since noticed that there are conditions where the entire URL is not remembered. Simple URLs like /myapp/widget.jsp work great, but REST URLs like /myapp/api/events/1 are not completely preserved. Nor are params remembered either like /myapp/widget.jsp?id=1. At this time we really don't need that capability but I don't think it would be hard to add it. Most of the work has already been done.

One other thing. I think this experiment begs the question: why doesn't Spring Security already support something like this out of the box? It would seem like a very common use case. While researching it seems there might be a reluntance to support this feature due to security concerns of a malicious user gaining access to a resource they are not authorized for. I didn't do super extensive testing, but in the testing I did do, I was not able to gain access to resources I was not authorized for. Perhaps when/if I come back to these classes and add support for the noted issues above I might submit a patch back to Spring Security so this can get incorporated into Spring Security.

Friday, June 28, 2013

Setting Gradle home directory and proxy in Jenkins

Real quick. Spent the past few hours working around some nasty issues with gradle and jenkins. It seems due to a bug, the jenkins gradle plugin puts the dependency/artifact cache under the jobs workspace. This really isn't a good idea as every job would then download all of the projects artifacts taking up large amounts of space. At the same time, I also needed to setup the proxy information for gradle, which sadly doesn't reuse the jenkins proxy information.

I was able to finally figure out a good place to define the gradle user home and proxy information in a single place to prevent each job from having to define it.

Go into Manage Jenkins > Configure System. Under Global properties check Environment variables and fill in the following for name and value:

value: -Dgradle.user.home=/home/tomcat/.gradle -Dhttp.proxyHost= -Dhttp.proxyPort=3128

For the gradle.user.home property, I tried using ~/.gradle, but that didn't work which means most likely my $HOME environment variable was not set for whatever reason. My guess is it has something to do with all the troubles I've had lately using the bitnami jenkins amazon ami. I also tried setting the environment variable GRADLE_USER_HOME, but that didn't seem to work. Either way, hopefully this will help others.

Tuesday, June 25, 2013

Resource Filtering with Gradle

My team has recently started a new Java web application project and we picked gradle as our build tool. Most of us were extremely familiar with maven, but decided to give gradle a try.
Today I had to figure out how to do resource filtering in gradle. And to be honest it wasn't as easy as I thought it should be; as least coming from a maven background. I eventually figured it out, but wanted to post my solution to make it easier for others.

What is Resource Filtering?
First, for those that may not know, what is resource filtering? It's basically a way to avoid hard coding values in files and make them more dynamic. For example, I may want to display the version of my application in my application. The version is usually defined in your build file and this value can be injected or replaced in your configuration file during assembly. So I could have a file called config.properties under src/main/resources with the following content:
application.version=${application.version}. With resource filtering the ${application.version} value gets replaced with 1.0.0 during assembly, then my application can load config.properties and display the application version.

It's an extremely valuable and powerful feature in build tools like maven and one that I took advantage of often.

Resource Filtering in Gradle
With this being my first gradle project, I needed to find the recommended way to enable resource filtering in gradle. My first problem I had to figure out was where to define the property. In maven this would typically be defined in the project's pom.xml file as a maven property:

For gradle the appropriate place seemed to be the project's gradle.properties file. So you would add the following to your project's gradle.properties file (Note, I'm not suggesting you would hardcode the modules version in the gradle.properties file. Obviously the value would be derived from the version property in your project. I'm just using this for a simple example):

The next, and most difficult, problem I had to track down was how to actually enable resource filtering. I was hoping to just set some enableFiltering option and define the includes/excludes list, but that doesn't seem to be the case (extra tip: don't do filtering on binary files like images). I did find some resources online, but this one seemed to be the best approach. So you will need to add the following to your build.gradle file:

import org.apache.tools.ant.filters.*

processResources {
    filter ReplaceTokens, tokens: [
        "application.version": project.property("application.version")

Next you need to update your resource file. So put a config.properties file under src/main/resources and add this:

Note, the use of @ instead of ${}. This is because gradle is based on ant, and ant by default uses the @ character as the token identifier whereas maven uses ${}.

Finally, if you build your project you can look under build/resources/main and you should see a config.properties file with a value of 1.0.0. You can also open up your artifact and see the same result.

Dot notation
One thing to note is I typically use a period or dot to separate words for properties: application.version instead of applicationVersion. So you will notice the surrounding quotes around "application.version" in the build.gradle file. This is required as failing to surround the key by quotes will fail the build. Probably because groovy's dynamic nature thinks you are traversing an object.

I also investigated the best approach to overriding properties in gradle, as this appeared to be slightly different then how it's done in maven. In maven, properties can be overridden by properties defined in the user's setting.xml file or on the command line with the -D option. To override application.version in gradle on the command line I had to run the following:

gradle assemble -Papplication.version=2.0.0

If you want to override it for all projects you can add the property in your gradle.properties file under /user_home/.gradle.

Also, if you are overriding the value via the command line and your property value contains special characters like a single quote, you can wrap the value with double quotes like the following to get it to work:

gradle assemble -Papplication.version="2.0.0'6589"

Well I hope this helps and if anyone from the gradle community sees a better way to perform resource filtering I'd love to hear about it. I'd also like to see something as important as resource filtering becoming easier to perform in gradle. I think it's crazy having to add an import statement to perform something so simple.